Ruby on rails “我该怎么做?”;“打印”;另一个列表中的列表?
我今天开始使用rails,遇到了一个问题 我创建了三个类:Item、Requisito和Video。最后两个有一个scaffold项:references 然后我将Item类指向其他两个项Ruby on rails “我该怎么做?”;“打印”;另一个列表中的列表?,ruby-on-rails,ruby,macos,redirect,scaffold,Ruby On Rails,Ruby,Macos,Redirect,Scaffold,我今天开始使用rails,遇到了一个问题 我创建了三个类:Item、Requisito和Video。最后两个有一个scaffold项:references 然后我将Item类指向其他两个项 class Item < ActiveRecord::Base attr_accessible :materia has_many :requisitos has_many :videos end class项
class Item < ActiveRecord::Base
attr_accessible :materia
has_many :requisitos
has_many :videos
end
class项
现在,我想把所有的东西都打印出来
item.name
item.requisito.type
item.video.link
所以我做了这个代码
<h1>Listing items</h1>
<table>
<tr>
<th>Materia</th>
<th>Requisitos</th>
<th>Videos</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @items.each do |item| %>
<tr>
<td><%= item.name %></td>
<td>
<% @items.requisitos.each do |requisito|%>
<%= requisito.type %>
<br>
<% end %>
</td>
<td>
<% @items.videos.each do |video|%>
<%= video.link %>
<br>
<% end %>
</td>
<td><%= link_to 'Show', item %></td>
<td><%= link_to 'Edit', edit_item_path(item) %></td>
<td><%= link_to 'Destroy', item, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New Item', new_item_path %>
列出项目
材料
请购单
视频
正如你所看到的,我只是简单介绍了代码应该如何。。。正如我所料,这是错误的。有人能指出正确的方法吗?您嵌套的
每个块都应该在项上迭代。requisitos
而不是@items.requisitos
(视频也一样)。所以像这样:
<% item.requisitos.each do |requisito|%>
<%= requisito.type %>
<br>
<% end %>
及
希望有帮助。有帮助吗?它在10秒内解决了这个问题xD,非常感谢!
<% item.videos.each do |video|%>
<%= video.link %>
<br>
<% end %>