Ruby on Rails控制器循环

时间:2011-08-23 10:55:20

标签: ruby-on-rails

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

3 个答案:

答案 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,并将所需信息收集到对象中,并在视图中使用该对象。