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.namep.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 に答える