我有以下关系:
store.rb -> has_many :products
product.rb -> belongs_to :store
的routes.rb
resources :stores do
resources :products
end
我现在要做的是创建一个循环,显示所有产品及其所属的商店,这样当我点击锚标签时,它会将我带到正确商店的产品页面,而不是像以下代码那样的另一个商店对我来说:
<ul>
<% @products.each do |product| %>
<li>
<a href="<%= url_for([@store, product]) %>"><%= product.name %></a>
</li>
<% end %>
</ul>
上述代码为我生成以下网址:
而不是
答案 0 :(得分:2)
您为每个链接提供相同的商店,因此无法使用。
试试这个:
<a href="<%= url_for([product.store, product]) %>"><%= product.name %></a>
变量@store
显然是沃尔玛。如果你不改变它,它将仍然是沃尔玛。