这是fields_for
块在orders
控制器的edit
视图
<%= form_for @order do |f| %>
<%= f.fields_for :order_fields do |builder| %>
<%= builder.text_field :value %>
<% end %>
<% end %>
我遇到的问题是,我想使用每个循环来显示从循环的信息,但然后我得到的形式显示不止一次。这是因为我使用了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 %>
我希望这是有意义的:)谢谢你。
可以通过调用。object来访问|builder|上的对象
<%= f.fields_for :order_fields do |builder| %>
<%= builder.object.name %>
<%= builder.text_field :value %>
<% end %>