我用它来循环产品......
<% form_for :product, @products, :url => { :action => "add_to_cart" } do |f| %>
<%= product.title %>
<%= product.price %>
<%= submit_tag 'Make Order' %>
<% end %>
在我的数据库中,我有
product:
title:abc price:874
title:cde price:98
title:efg price:18
但我的结果只能得到efg 18.0,我在结果上遗漏了其他记录, 有什么想法?
答案 0 :(得分:1)
form_for
为单个对象创建表单。如果您想为多个对象创建表单,建议您查看以下问题:Multiple objects in a Rails form
答案 1 :(得分:1)
我认为您需要为每种产品添加额外的表单(基于add_to_cart
操作)
form_for
助手为一个对象生成一个表单,因此您需要遍历对象并为每个对象创建一个表单。
这样的事情可能就是你所需要的:
<% for product in @products %>
<% form_for product, :url => { :action => "add_to_cart" } do |f| %>
<%= product.title %>
<%= product.price %>
<%= f.submit 'Make Order' %>
<% end %>
<% end %>