2010-05-19 60 views
1

Model Item belongs_to UserRails:将关联对象传递给View

在我的控制器我有这样的代码:

@items = Item.find(:all) 

我需要有相应的用户模型为每个项目在我的视图模板。

它在控制器(但不是在视图模板):

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

可手动循环只是搭建查看模板有点气味的关联。 我怎样才能做到这一点不令人毛骨悚然?

+1

我不知道我明白你的意思,但可能Item.find(:全部:包括=>:用户)解决问题了吗? – tliff 2010-05-19 06:37:01

回答

2

使用:包括查找选项:

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

请务必阅读associations下预先加载部分,所以你没有做一堆数据库查询时,他们可以结合起来。

0

尝试下面的方法。 只是例子

<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> 
<% } %> 
相关问题