嗨,如果我的控制器中有一个循环,例如通过产品列表,并且找到的每个产品都会通过另一个循环找到该产品的价格。考虑到产品和价格是不同的型号,因为一个产品可以有很多价格,我如何在视图中显示结果?
答案 0 :(得分:1)
在ProductsController中,您可以获取包含价格
的产品def index
@products = Product.all
end
在视图中,您可以遍历产品
<ul>
<% @products.each do |p| %>
<li><%=p.name %> / <%=p.price.value %></li>
<%end%>
</ul>
答案 1 :(得分:0)
您应该在模型之间建立关联,而不是手动收集不同循环中的所有数据。关联用于将不同模型(数据库表)相互链接。在您的情况下,产品和价格模型。
有关关联的更多信息,请查看Guide to Active Record Associations。
答案 2 :(得分:0)
很难说这么少的信息,但这取决于你的
模型关联以及您希望在哪个视图中显示此类信息。
如果它在显示页面上,那么您的控制器中不需要任何额外的循环。
如果您想用于索引,请尝试使用for_each
而不是.all
,并将所需信息收集到对象中,并在视图中使用该对象。