我无法正确显示我的观点。我现在把它作为我的代码:
<% 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
我该怎么做?
答案 0 :(得分:3)
而不是<% @stores.products.each do |p| %>
我认为你的意思是<% store.products.each do |p| %>
:
此外,您是不是要在<%=
和store.name
行上p.name
?
<% for store in @stores %>
<%= store.name %>
<% store.products.each do |p| %>
<%= p.name %>
<% end %>
<% end %>
答案 1 :(得分:2)
在你正在访问store.products
的循环中,不应该是store
吗?
<% for store in @stores %>
<%= store.name %>
<% store.products.each do |p| %>
<%= p.name %>
<% end %>
<% end %>
并且=
被添加到输出行。 <%=