这里有三个具有关联和关系的表,
类别表是主表
Product 表属于categor表,其product_id引用categor(id)
销售表属于产品表,其sale_id引用产品(id)
我正在尝试根据其引用获取记录,其中:
只需将这三个表作为主分类表,将产品作为子表,将销售额作为产品下的子表
1。)类别表将循环并显示其中的所有记录。
2。)产品表应根据与分类表的ID相匹配的categor_id循环显示其记录。
3)销售表应根据与产品ID相匹配的product_id循环显示其记录。
只需将这三个表视为发布,评论和回复
def index
#@categors = Categor.where(:id => '1')
@categors = Categor.all
@prods = Product.where(:categor_id => '1')
@sals = Sale.where(:product_id => '1')
end
这时,我可以成功显示所有记录,但无法正确对齐。
类别是主表。 产品信息应在“分类”下。 销售信息应在产品下方。
只需将其分别视为发布,评论和回复即可。
<p id="notice"><%= notice %></p>
<div>
<% @categors.each do |categor| %>
Categorid: <%= categor.id %>
Category Name: <%= categor.cat_name %>
Ctaegory Label<%= categor.car_label %>
</div>
<% end %><br>
<% @prods.each do |pr| %>
Product id: <%= pr.id %>
Product Name: <%= pr.prod_name %>
<% end %>
<br>
<% @sals.each do |s| %>
sales id: <%= s.id %>
sales Name: <%= s.sales_name %>
<% end %>
<br>
<br>
答案 0 :(得分:1)
我不确定我是否理解您要在此处完成的工作,但是我将假设您正在尝试显示所有类别,每个类别中的所有产品以及每个产品的销售额。
您可以采用几种不同的方式来构造此结构,例如树状视图或嵌套表等,并且当您拥有很多类别/产品/销售时,您应该考虑页面的可用性。为了简单起见,让我们将它们构造为嵌套列表:
<ul>
<% @categors.each do |categor| %>
<li><%= categor.cat_name %>
<ul>
<% categor.products.each do |pr| %>
<li><%= pr.prod_name %>
<ul>
<% pr.sales.each do |s| %>
<li><%= s.sales_name %></li>
<% end %>
</ul>
</li>
<% end %>
</ul>
</li>
<% end %>
</ul>
现在您没有向我们展示如何设置模型,所以我不知道它们之间的关系是否设置正确,但我假设是的。