我想我对fields_for的工作原理有点困惑。我有一个动作:
3.times { @submitted_quiz.submitted_answers.build }
如果我在相关视图中写了form_for
这样的内容:
<%= form_for(@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.label :content, "Answer" %><br />
<%= ff.text_area :content, :rows => 3 %>
<% end %>
<%= f.submit %>
<% end %>
fields_for
如何知道运行三次?
答案 0 :(得分:0)
Rails只会检查你的submitted_quiz有多少个submitted_answers,并生成适当数量的字段(显然每个答案一个)。