2010-05-19 4 views
1

Le modèle Item appartient à User.Rails: Passer l'objet association à la vue

Dans mon contrôleur j'ai code comme ceci:

@items = Item.find(:all) 

je dois avoir un modèle d'utilisateur correspondant pour chaque élément de mon point de vue des modèles.

il fonctionne dans le contrôleur (mais pas en vue modèle):

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

Mais looping manuel juste pour créer des associations pour View modèle sent un peu. Comment est-ce que je peux faire ceci d'une manière effrayante?

+1

je ne suis pas sûr que je comprends ce que vous voulez dire, mais peut-être Item.find (: tout: include =>: l'utilisateur) résoudre votre problème? – tliff

Répondre

2

Utilisez le: option include pour trouver:

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

Assurez-vous de lire la section de chargement désireux sous associations de sorte que vous ne faites pas un groupe de base de données quand lookups ils peuvent être combinés.

0

Essayez quelque chose comme suivre. Juste exemple

<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 %> 

OU

<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> 
<% } %> 
Questions connexes