预加载表单数据
我正在使用Ryan Bates在Railscasts Episode 197中说明的技术,以便当用户向表单添加更多项目时,表单可以“增长”。 这一切都很好,但我需要在提供初始项目作为URL的一部分时调用页面。
由于Ryan的技术让用户单击一个Add按钮来调用jQuery函数来向表单添加字段,我有点陷入困境,如何将信息从控制器传递给jQuery来调用 – 并预填充 – 这些新字段之一。
我在想这个错吗?
是的,你在想错了;-)
以此表格为例:
<% form_for @survey do |f| %> <%= f.error_messages %> <%= f.label :name %>
<%= f.text_field :name %>
<% f.fields_for :questions do |builder| %> <%= render 'question_fields', :f => builder %> <% end %> <%= link_to_add_fields "Add Question", f, :questions %>
<%= f.submit "Submit" %>
<% end %>
fields_for
是一个迭代器; 所以你的控制器所要做的就是:
@survey.questions.build(:content => "Prepared question")
它将显示在页面上。
在Rails视图中生成像往常一样的文本字段。