2011-08-23 132 views
0

嗨,如果我在我的控制器中有一个循环,例如通过一个产品列表,并找到每个产品通过另一个循环,找到该产品的价格。考虑到产品和价格在不同的模型中,因为一个产品可能有很多价格,我如何在视图中显示结果?Ruby on Rails控制器循环

+0

理解你的问题有点难,你能否提供一些关于你的模型的细节。 – Coder

回答

0

您应该在模型之间建立关联,而不是手动收集不同循环中的所有数据。关联用于将不同的模型(数据库表)相互关联。在你的情况下,产品和价格模型。请致电Guide to Active Record Associations

1

在ProductsController的您获取产品,包括价格

def index 
    @products = Product.all 
end 

你可以遍历所有的产品

<ul> 
<% @products.each do |p| %> 
    <li><%=p.name %>/<%=p.price.value %></li> 
<%end%> 
</ul> 
+0

根据这个问题,产品和价格是*不同*型号... – Veger

+0

但希望有关... – Henrik

+0

希望是的,但问题表明,否则我认为...: – Veger

0

这是真的很难用这么少的信息,说看法,但它取决于你怎么样

模型关联和在哪个视图中你想要显示这样的信息。

如果它在显示页面上,那么你不需要任何额外的循环在你的控制器。

如果您想用于索引编制,请尝试使用for_each而不是.all,并将所需的信息收集到对象中并在视图中使用该对象。