Контроллер Ruby on Rails - PullRequest
       1

Контроллер Ruby on Rails

0 голосов
/ 23 августа 2011

Привет, если у меня в контроллере есть петля, которая, например, просматривает список товаров и для каждого найденного товара проходит еще одну петлю, которая находит цену для этого товара.Учитывая, что продукты и цены представлены в разных моделях, поскольку один продукт может иметь несколько цен, как отобразить результаты в представлении?

Ответы [ 3 ]

1 голос
/ 23 августа 2011

В ProductsController вы выбираете продукты, включая цены

def index
  @products = Product.all
end

В представлении вы можете просматривать товары

<ul>
<% @products.each do |p| %>
  <li><%=p.name %> / <%=p.price.value %></li>
<%end%>
</ul>
0 голосов
/ 23 августа 2011

Трудно сказать с таким небольшим количеством информации, но это зависит от того, как связаны ваши модели

и в каком виде вы хотите отображать такую ​​информацию.

Если она есть в наличиина странице, то вам не требуется никакого дополнительного цикла в вашем контроллере.

Если вы хотите использовать для индексации, попробуйте использовать for_each вместо .all и собрать необходимую информацию в объект и использовать этот объектв пределах видимости.

0 голосов
/ 23 августа 2011

Вы должны строить ассоциации между вашими моделями, вместо того, чтобы вручную собирать все данные в разные циклы.Ассоциации используются для связи различных моделей (таблиц базы данных) друг с другом.В вашем случае модель продукта и цены.

Для получения дополнительной информации об ассоциациях посмотрите Руководство по ассоциациям активных записей .

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