2016-08-09 24 views
1

私はこのネストされたフォームとsubmitted_answersを持っています。Railsはネストされた属性を許可します

<%= form_for([@user, @submitted_quiz]) do |f| %> 

<%= f.hidden_field :quiz_id, :value => @quiz.id %> 
<%= f.hidden_field :name, :value => @quiz.name %> 

<%= f.fields_for (:submitted_answers) do |ff| %> 
<%= ff.hidden_field :question_id, :value => question.id %> 
<% end %> 

<%= f.submit "Submit" %> 
<% end %> 

をあなたが見ることができるように、私は:quiz_idsubmitted_quiz:nameを許可する必要がありますが、私はまた、ネストされた:question_idsubmitted_answersのを許可する必要があります:あなたはそれをよりよく理解することができますので、私は、このフォームの基本的なレイアウトを追加します。私はちょうど1つのレイヤー(submitted_quiz)を許可する方法を知っていますが、ネストされたレイヤーを許可する方法については混乱しています。

+0

使用繭の宝石を。詳細については、https://github.com/nathanvda/cocoon –

答えて

2

次の2つの方法でそれを行うことができます。

すべてが名で

params.require(:submitted_quiz).permit! 

2.or paramsは許可1.just:

params.require(:submitted_quiz).permit(:quiz_id, :name, submitted_answers_attributes: [:question_id]) 
+0

を参照してください。このエラーが発生しました。#のための '未定義メソッド 'call'を意味しましたか?発呼者。なぜなのかご存知ですか? – nachime

+0

心配しないでください。ありがとう! – nachime

関連する問題