嵌套表单而不使用部分

时间:2011-03-24 18:47:19

标签: ruby-on-rails

我想知道下面的代码是否合适。

% form_for @survey do |f| %>
  <%= f.error_messages %>
  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>
  <% f.fields_for :questions do |builder| %>
  <%= builder.text_field :question %>
     <% builder.fields_for :answers do |answer|
     <p>Answer: <%= answer.text_field :answer %>
     <% end %>
 <% end %>

  <p><%= f.submit "Submit" %></p>
<% end %>

如果代码<%= builder.text_field :question %>好吗?

我问这个是因为当我渲染我的表单时,没有显示任何答案,当我查看页面来源时,我没有任何答案部分。

非常感谢你的帮助。 :)

1 个答案:

答案 0 :(得分:0)

替换:

<% form_for @survey do |f| %>

使用:

<%= form_for @survey do |f| %>

和此处相同:

<% f.fields_for :questions do |builder| %>

将替换为:

<%= f.fields_for :questions do |builder| %>

我想你已经明白你必须再次使用answers:)