如何使用RoR循环数据库中的所有元素?

时间:2009-12-27 13:50:39

标签: ruby-on-rails ruby debugging

我用它来循环产品......

<% 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,我在结果上遗漏了其他记录, 有什么想法?

2 个答案:

答案 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 %>