Беда с петлями для вложенных моделей - PullRequest
0 голосов
/ 26 декабря 2011

У меня есть следующие отношения:

store.rb -> has_many :products
product.rb -> belongs_to :store

rout.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> 

Вышеупомянутый код генерирует для меня следующие URL:

  • магазины / walmart / products / large-gun
  • магазины / walmart / products / fruits

вместоиз

  • магазины / оружейный магазин / продукты / крупнокалиберные
  • магазины / walmart / продукты / фрукты

1 Ответ

2 голосов
/ 26 декабря 2011

Вы предоставляете один и тот же магазин для каждой ссылки, чтобы он не работал.

Попробуйте это:

<a href="<%= url_for([product.store, product]) %>"><%= product.name %></a>

Переменная @store, по-видимому, Walmart. Если вы не измените его, он останется Walmart.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...