Rails: передать объект ассоциации в View - PullRequest
1 голос
/ 19 мая 2010

Модель Item принадлежит_ User.

В моем контроллере у меня есть такой код:

@items = Item.find(:all)

Мне нужно иметь соответствующие модели пользователей для каждого элемента в моих шаблонах просмотра.

работает в контроллере (но не в шаблоне просмотра):

@items.each { |item| item.user }

Но ручное зацикливание просто для создания ассоциаций для шаблона View вроде как пахнет. Как я могу сделать это не жутко?

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Используйте опцию: include для поиска:

@items = Item.find(:all, :include => :user)

Обязательно ознакомьтесь с разделом «Стремительная загрузка» в разделе ассоциации , чтобы не выполнять поиск баз данных, когда их можно объединить.

0 голосов
/ 19 мая 2010

Попробуйте что-то вроде следующего. Просто пример

<table>
  <tr>
    <td>Item Name</td>
    <td>User Name</td>
  </tr>
<% for item @items %>
   <tr>
     <td><%= item.item_name %></td>
     <td><%= item.user.name %></td>
   </tr>
<% end %>

OR

<table>
  <tr>
    <td>Item Name</td>
    <td>User Name</td>
  </tr>
<% @items.each { |item| %>
   <tr>
     <td><%= item.item_name %></td>
     <td><%= item.user.name %></td>
   </tr>
<% } %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...