Ruby on rails Rails:将关联对象传递给视图

Ruby on rails Rails:将关联对象传递给视图,ruby-on-rails,Ruby On Rails,型号项目属于用户 在我的控制器中,我有如下代码: @items = Item.find(:all) 我需要为视图模板中的每个项目提供相应的用户模型 它在控制器中工作(但不在视图模板中): 但是手动循环只是为了建立视图模板的关联,这有点奇怪。 我如何才能不以令人毛骨悚然的方式执行此操作?使用:include选项查找: @items = Item.find(:all, :include => :user) 请务必阅读下的“快速加载”部分,这样当数据库可以合并时,您就不会进行大量的数据库查找

型号
项目
属于
用户

在我的控制器中,我有如下代码:

@items = Item.find(:all)
我需要为视图模板中的每个项目提供相应的用户模型

它在控制器中工作(但不在视图模板中):

但是手动循环只是为了建立视图模板的关联,这有点奇怪。
我如何才能不以令人毛骨悚然的方式执行此操作?

使用:include选项查找:

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

请务必阅读下的“快速加载”部分,这样当数据库可以合并时,您就不会进行大量的数据库查找。

尝试以下方法。 举个例子

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

项目名称
用户名


项目名称
用户名

我不确定我是否理解您的意思,但可能会找到(:all,:include=>:user)解决您的问题?
<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 %>
<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>
<% } %>