这是我在orders控制器的edit视图中的fields_for块
<%= form_for @order do |f| %>
<%= f.fields_for :order_fields do |builder| %>
<%= builder.text_field :value %>
<% end %>
<% end %>我遇到的问题是,我想使用each循环来显示来自该循环的信息,但随后我得到的表单显示了不止一次。这是因为我使用了accepts_nested_attributes_for :order_fields语句。
在我的order_fields表中有一个名为name的列,我希望在表单中显示该列的信息。我该怎么做呢?我的数据库中value列的信息已经显示在我的表单中了。
如果我这样做了
<%= f.fields_for :order_fields do |builder| %>
<%= builder.text_field :name %>
<%= builder.text_field :value %>
<% end %>它会将两列中的信息并排显示,但我不希望:name信息出现在文本框或任何其他内容中。我想让它显示出来,就像我要做的那样:
<% @order.order_fields.each do |field| %>
<%= field.name %>
<% end %>我希望这是有意义的:)谢谢。
发布于 2011-11-01 11:14:58
您可以通过在|builder|上调用.object来访问|builder|中的对象
<%= f.fields_for :order_fields do |builder| %>
<%= builder.object.name %>
<%= builder.text_field :value %>
<% end %>https://stackoverflow.com/questions/7962055
复制相似问题