【发布时间】:2013-02-28 16:00:29
【问题描述】:
我创建一个这样的表单
@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 迭代。例如,这是一个来自哈希对象的 sn-p(如下所示)
"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"}
【问题讨论】:
-
我想以相同的格式存储数据,请把型号和表格的代码发给我。
-
这一切都在这个 railscast railscasts.com/episodes/196-nested-model-form-revised
标签: ruby-on-rails