Rails has_many有两个表(count)

时间:2012-12-19 11:42:38

标签: ruby-on-rails

我有关于加入的问题(并且has_many属于)...

我在数据库中有3个表。

广告客户

  • ID
  • 名称

分类

与广告商关联(gem awesome_nested_set)

评论

  • ID
  • ADVERTISER_ID
  • 评论
  • 建议

我看不到广告客户有多少评论,以及推荐了多少评论。

广告客户数据

1 | abc

评论数据

id | a_id | text    | rec
---+------+---------+-----
 1 | 1    | blabla  | 1
 2 | 1    | blablab | 1
 3 | 1    | blablac | 1
 4 | 1    | blablad | 0

在这种情况下,有四条评论,其中三条是推荐的。

在我看来,我需要检索以下内容

列出类别 abapai

广告商名称: abc

建议 3条评论

总共 4

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

在评论模型中,您可以使用scope方法过滤推荐的评论。像这样:

scope :recommended_comments, where("recommended = '1'")

然后在广告客户视图中,您可以像这样使用它(我讨论了一些属性名称):

Listing Category <%= @advertiser.category.name %>    
Advertiser name: <%= @advertiser.name %>    
There are <%= @advertiser.comments.recommended_comments.count %> comments recommended    
a total of <%= @advertiser.comments.count %>