Ruby on rails 如何列出属于某个类别的所有子类别的所有项目?罗尔

Ruby on rails 如何列出属于某个类别的所有子类别的所有项目?罗尔,ruby-on-rails,filter,relationship,categories,Ruby On Rails,Filter,Relationship,Categories,以下是我的模型关系: 类别有许多子类别 子类别属于类别(子类别有一个类别id字段) 子类别有许多项 项目属于子类别(项目有一个子类别id字段) 我想在“类别”的“显示”视图中列出属于某个类别的子类别的所有项目 例如,在包含餐厅、快餐和配送子类别的食品类别中。 我想在食品类别的show视图中显示3个子类别中的所有项目 我对实现这一点的条件有问题: <%@items = Item.find(:all, :limit=> 10, :conditions {:subcategory_id

以下是我的模型关系:

  • 类别有许多子类别

  • 子类别属于类别
    子类别
    有一个
    类别id
    字段)

  • 子类别有许多项

  • 项目属于子类别
    项目
    有一个
    子类别id
    字段)

我想在“类别”的“显示”视图中列出属于某个类别的子类别的所有项目

例如,在包含餐厅、快餐和配送子类别的食品类别中。 我想在食品类别的show视图中显示3个子类别中的所有项目

我对实现这一点的条件有问题:

<%@items = Item.find(:all, :limit=> 10, :conditions {:subcategory_id =>  }, :order=>"created_at ASC")%>
        <%@items .each do |items|%>
Items info shown here
<% end %>
10,:条件{:subcategory\u id=>},:order=>“已在ASC创建”)%>
项目信息显示在这里

我不知道我是否必须通过一个条件,一个
if
语句或者一个helper方法来解决它。

这就是我解决它的方法

我将subcategory.category\u id和category.id之间的比较保存在变量@subcategory\u id中

<%@subcategory_id = Subcategory.find(:all, :conditions => {:category_id => @category.id}, :order=>"created_at ASC")%>
{:category\u id=>@category.id},:order=>“在ASC创建”)%%>
然后我使用该变量在items列表的查询中创建条件

<%@lastitems= Item.find(:all, :conditions => {:subcategory_id => @subcategory_id}, :order=>"created_at ASC")%>
        <%@lastitems.each do |lastitem|%>


items info goes here

<%end%>
{:subcategory\u id=>@subcategory\u id},:order=>“已在ASC创建”)%%>
物品信息在这里

谢谢。

您使用的是什么版本的Rails?