我创建一个这样的表格
@question = Question.new
3.times {@question.answers.build}
如果它不验证,我将重新显示填充数据的表单。填充问题数据并不难
@question = @user.questions.new(session[:question])
但是,我无法从答案模型(具有内容和链接字段)的会话哈希中获取嵌套值。这是行不通的。
3.times {@question.answers.build(:content => session[:question][:answers_attributes][:content], :correctanswer => session[:question][:answers_attributes][:correctanswer]) }
我认为这是因为哈希对象中的 0、1 和 2 迭代。例如,这是哈希对象的一个片段(如下所示)
"answers_attributes"=>{"0"=>{"content"=>"",
但我不知道在构建问题答案时我会如何表示
3.times {@question.answers.build(:content => session[:question][:answers_attributes][:content]....
当我尝试构建时,我在尝试从哈希对象中提取数据时并不代表迭代。你能解释一下我将如何修改这一行以将参数传递给question.answers.build
这是哈希对象。
> Parameters: {"utf8"=>"✓", "question"=>{"content"=>"Lick me",
> "link"=>"bab", "answers_attributes"=>{"0"=>{"content"=>"",
> "correctanswer"=>"0", "_destroy"=>"false"}, "1"=>{"content"=>"",
> "correctanswer"=>"1", "_destroy"=>"false"}, "2"=>{"content"=>"",
> "correctanswer"=>"0", "_destroy"=>"false"}}}, "commit"=>"Create
> Question"}