导轨的has_many查询

问题描述:

我有以下型号:导轨的has_many查询

类别:
的has_many: - 行业标准

Sub_Category:
的has_many:帖子

帖子:
belongs_to的:sub_category

我试图建立一个页面,将列出与Pjax选项卡和每个类别选项卡的类别列出所有小组件中的子分类,每个小组件中有5个帖子。

问题1:我需要has_many_through与类别控制器上的帖子关联以实现此目的(以及连接表)吗?

问题2:如何构造此查询?我一直在寻找一段时间的一些方向

首先,不要忘记在sub_category模型belongs_to :category

你可以做这样的事情(这还不算快,所以要小心):

@category.sub_categories.each do |sub_cat| 
    sub_cat.posts.each_slice(5) do |posts| 
    #here you create a widget, posts have at most 5 elements thanks to each_slice method 
    posts.each do |post| 
     #do something with each post 
    end 
    end 
end 
+0

谢谢,是啊,我也忘了belongs_to的:类别。我把这个放在首页,所以我需要把它放在应用程序控制器中? – Anthony 2013-03-02 00:54:25

+0

您可以在视图中使用''并在控制器中获得@category。 – Kaeros 2013-03-02 00:55:53

+0

好的,我将Posts控制器路由到主页,但是这需要进入Category控制器吗?如果是这样,我是否需要将它添加到应用程序控制器,以便我可以在Posts中访问它? – Anthony 2013-03-02 01:11:59