Rails:fields_用于迭代编辑表单的列表项



当我加载编辑页面时,我会在item的文本字段下面打印出数组。如何在不返回视图中的数组的情况下迭代@list.items?

<%=form_for@list,url:url_fo(控制器:'inventory_lists',操作:'update'(do|f|%>

通过更新项目编辑您的列表

任何不在您库存清单中的物品都将产生额外费用

<%= @list.items.each do |item| %>
<%= f.fields_for item, Item.find_by(id: item.id) do |item_attributes| %>
<div>
<%= item_attributes.label :name, "Item Name:" %>
<%= item_attributes.text_field :name %>
</div>
<div>
<%= item_attributes.label :room, "Room Item Belongs to:" %>
<%= item_attributes.text_field :room %>
</div>
<div>
<%= item_attributes.label :weight, "Item Weight:" %>
<%= item_attributes.number_field :weight %>
</div>
<% end %>
<% end %>
<h3>Add Items</h3>
<div id="row1" class="row">
<%= f.fields_for :item, Item.new do |item_attributes| %>
<div>
<%= item_attributes.label :name, "Item Name:" %>
<%= item_attributes.text_field :name %>
</div>
<div>
<%= item_attributes.label :room, "Room Item Belongs to:" %>
<%= item_attributes.text_field :room %>
</div>
<div>
<%= item_attributes.label :weight, "Item Weight:" %>
<%= item_attributes.number_field :weight %>
</div>
<% end %>
</div>
<div>
<input type="button" id="btnAdd" value="Add Another Item" />
<input type="button" id="btnDel" value="Remove Item" />
</div>

<%= f.submit 'Update List' %>

<%结束%>

这是@list.items.each do textfields 下面的输出

["\n\n<label for="inventory_list_item_name"id=";inventory_list_item_name">\n\n\n<标签为"=";inventory_list_item_room"gt;房间项目属于:\n<输入类型=";文本";值=";客厅"name=";inventory_list[item][room]";id=";inventory_list_item_room">\n\n\n<标签为"=";inventory_list_item_weight>项目重量:\n<输入类型=";数字";值=";75〃;name=";inventory_list[item][weight]";id=";inventory_list_item_weight/>\n〃"\n\n<标签为"=";inventory_list_item_name"gt;项目名称:\n<输入类型=";文本";值=";Tv";name=";inventory_list[item][name];id=";inventory_list_item_name">\n\n\n<标签为"=";inventory_list_item_room"gt;房间项目属于:\n<输入类型=";文本";值=";客厅"name=";inventory_list[item][room]";id=";inventory_list_item_room">\n\n\n<标签为"=";inventory_list_item_weight>项目重量:\n<输入类型=";数字";值=";40〃;name=";inventory_list[item][weight]";id=";inventory_list_item_weight/>\n〃"\n\n<标签为"=";inventory_list_item_name"gt;项目名称:\n<输入类型=";文本";值=";"猫树";name=";inventory_list[item][name];id=";inventory_list_item_name">\n\n\n<标签为"=";inventory_list_item_room"gt;房间项目属于:\n<输入类型=";文本";值=";客厅"name=";inventory_list[item][room]";id=";inventory_list_item_room">\n\n\n<标签为"=";inventory_list_item_weight>项目重量:\n<输入类型=";数字";值=";10〃;name=";inventory_list[item][weight]";id=";inventory_list_item_weight/>\n"]

只需更正这一行从<%= @list.items.each do |item| %><% @list.items.each do |item| %>去掉那个=就会顺利进行。

最新更新