0

我无法正确显示我的视图。我现在有这个作为我的代码:

<% for store in @stores %>
  <% store.name %>
    <% @stores.products.each do |p| %>
     <% p.name %>
    <% end %>
<% end %>

def index
 @stores = Store.paginate(:page => params[:page], :per_page => 20)
end

但最终出现错误:

undefined method `products'

我试图展示一家商店,然后展示它的所有产品,尽可能在同一页面上重复这一点,例如:

Store1
 Product1
 Product2

Store2
 Product1
 Product2
 Product3
 Product4

我怎样才能做到这一点?

4

2 回答 2

3

而不是<% @stores.products.each do |p| %>我认为你的意思是<% store.products.each do |p| %>

还有,你不是说要<%=store.nameandp.name行吗?

<% for store in @stores %>
  <%= store.name %>
    <% store.products.each do |p| %>
      <%= p.name %>
    <% end %>
<% end %>
于 2012-04-09T20:47:44.937 回答
2

那不应该store.products在你访问的循环内store吗?

<% for store in @stores %>
  <%= store.name %>
    <% store.products.each do |p| %>
     <%= p.name %>
    <% end %>
<% end %>

=添加到输出行。<%=

于 2012-04-09T20:47:13.617 回答