親クラスがモデルクラスに定義されていても、親フィールドを挿入ステートメントの一部にできないためですか?親レコードがアクティブレコードに保存されているときに親列が挿入されていない場合
基本的に、質問を保存するときに、アプリケーションにログインしている作成者をドキュメント送信テーブルに保存したいと思います。ところで、質問は適切に保存されます。ここではまた、以下の私のdatabase model
は、私は、ブラウザから
Parameters: {"submission"=>{"responses_attributes"=>{"0"=> {"question_id"=>"71", "answer"=>"Answer 1-10"},
"1"=>{"question_id"=>"72", "answer"=>"Answer 1-10"}}}, "document_id"=>"1"}
文書の提出コントローラ
class DocumentSubmissionsController < ApplicationController
def index
@document = Document.find_by_slug(params[:document_id])
@submissions = @document.submissions.includes(:responses)
end
def create
document = Document.find_by_slug(params[:document_id])
if document.submissions.create(submission_params)
render json: document, status: 200
else
render status: 400
end
end
private
def submission_params
params.require(:submission).permit(
submission: [admin_id: 1],
responses_attributes: [
:question,
:answer_value
]
)
end
end
に送信され
JSONを作成し、変更されたクラスです提出と再
class Submission < ActiveRecord::Base
# Associations
belongs_to :document, inverse_of: :submissions
has_many :responses, class_name: "SubmissionResponse", inverse_of: :submission, dependent: :destroy
belongs_to :creator
# Nested Attributes
accepts_nested_attributes_for :responses
end
class Creator < ActiveRecord::Base
has_many :submissions
end
INSERT文がレールからもらったsponseモデルクラスは
(0.4ms)を追跡 SQL(4.3ms)をBEGIN "document_submissions"( "DOCUMENT_ID"、 "のcreated_at"、「updated_atののINSERT INTO ")$ 1、$ 2、$ 3)" id "を返す
[[" document_id "、1]、[" created_at "、" 2016-06-12 21:07:57.481249 "]、[" updated_at "、" 2016-06-12 21:07:57.481249 "]] ...応答インサート.... (0.9ms)COMMIT
おかげで、私はあなただけで行うことができると思い