我已经被这个问题卡了几天了。
我已经成功地使用了Railscasts第198集,但那是针对Rails 2的。在Rails 3中有一些变化,使得在第198集中提供的代码不起作用。
问题在于edit_individual.html.erb:
原始代码(由Ryan @ Railscasts提供):
<% form_tag update_individual_products_path, :method => :put do %>
<% for product in @products %>
<% fields_for "products[]", product do |f| %>
<h2><%=h product.name %></h2>
<%= render "fields", :f => f %>
<% end %>
<% end %>
<p><%= submit_tag "Submit" %></p>
<% end %>
修改后的代码(仅将fields_for更改为form_for):
<% form_tag update_individual_products_path, :method => :put do %>
<% for product in @products %>
<% form_for "products[]", product do |f| %>
<h2><%=h product.name %></h2>
<%= render "fields", :f => f %>
<% end %>
<% end %>
<p><%= submit_tag "Submit" %></p>
<% end %>
在新的代码中,每个记录都放置在自己的表单中,这些表单全部位于一个单一表单内(这正是我想要的)。
我的问题是,如何让Railscasts第198集提供的代码在Rails 3中运行?
以下是我提到的Railscast链接: http://railscasts.com/episodes/198-edit-multiple-individually 谢谢, c.allen.rosario
form_for
中使用form_for
,因为这意味着一个<form>
标签内嵌另一个<form>
标签。你需要使用fields_for
。当你在 Rails 3 中运行代码时会出现什么错误? - Zabba