我正在构建一个rails应用程序。我想知道是否有一种自动方式只能获得带有新闻的类别。
如果我想在侧栏上列出一个列表,但只显示公共过滤器的类别?
嗨,我是新手,我有这段代码:
产品: - brand_id - category_id
我只想:当我进入一个品牌时,只展示该品牌产品的类别。
我认为是这样的:
brand.products.find(:all)
这将显示所有brand_id
我所在的产品
并且,我如何为类别+品牌制作此产品?
brand.category.products(:all)
不会导致,我有点困惑
然后
答案 0 :(得分:1)
是的,你只需要编码就可以了。
答案 1 :(得分:0)
您可以使用查询,或者快速使用:
category.news.size != 0
因为category.news
将返回具有该类别的新闻条目数组,因此如果size为0,则不显示它。
答案 2 :(得分:0)
Post.find(
:all,
:select => 'posts.*, count(categories.id) as category_count',
:joins => 'left outer join categories on categories.post_id = posts.id',
:group => 'posts.id',
:having => 'category_count > 0'
)