gpt4 book ai didi

forms - Rails 3 在单一表单中编辑多条记录

转载 作者:行者123 更新时间:2023-12-04 09:28:50 25 4
gpt4 key购买 nike

我已经被这个问题困住了几天了。

我在 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 Episode #198 提供的代码在 Rails 3 中工作?

这是我提到的 Railscast 的链接:
http://railscasts.com/episodes/198-edit-multiple-individually

谢谢你,
罗萨里奥

最佳答案

我找到了解决方案。只需要修改 Ryan@Railscasts 提供的代码中的以下行:

<% fields_for "products[]", product do |f| %>

并将其更改为:
<%= fields_for "products[]", product do |f| %>

请注意, <%已修改为 <%= .

最终解决方案:
<% form_tag update_individual_products_path :method => :put do %>  
<% for product in @products %>
<%= fields_for "products[]", product do |f| %>
<h2><%= h product.name %></h2>
<% end %>
<% end %>
<p><%= submit_tag "Submit" %></p>
<% end %>

我想知道是否有人可以向我解释这个解决方案。据我了解,您应该只需要一个 <%前面 fields_for .

罗萨里奥

关于forms - Rails 3 在单一表单中编辑多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com