以下是fields_for
控制器的edit
视图中的orders
阻止
<%= 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 %>
我希望这有点道理:) 谢谢。
答案 0 :(得分:3)
您可以从| builder |访问该对象通过调用.object就可以了
<%= f.fields_for :order_fields do |builder| %>
<%= builder.object.name %>
<%= builder.text_field :value %>
<% end %>