预加载表单数据

我正在使用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视图中生成像往常一样的文本字段。