2016-06-12 9 views
0

親クラスがモデルクラスに定義されていても、親フィールドを挿入ステートメントの一部にできないためですか?親レコードがアクティブレコードに保存されているときに親列が挿入されていない場合

基本的に、質問を保存するときに、アプリケーションにログインしている作成者をドキュメント送信テーブルに保存したいと思います。ところで、質問は適切に保存されます。ここではまた、以下の私の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

おかげで、私はあなただけで行うことができると思い

答えて

0

if document.submissions.create(submission_params) && document.update_attributes(creator_id: current_user.id) 
    render json: document, status: 200 
    else 
    render status: 400 
    end 
関連する問題