只获取有新闻的类别

时间:2010-11-03 13:36:01

标签: ruby-on-rails ruby

我正在构建一个rails应用程序。我想知道是否有一种自动方式只能获得带有新闻的类别。

如果我想在侧栏上列出一个列表,但只显示公共过滤器的类别?


嗨,我是新手,我有这段代码:

产品: - brand_id - category_id

我只想:当我进入一个品牌时,只展示该品牌产品的类别。

我认为是这样的:

brand.products.find(:all)

这将显示所有brand_id我所在的产品

并且,我如何为类别+品牌制作此产品?

brand.category.products(:all)

不会导致,我有点困惑

然后

3 个答案:

答案 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'
)