Ruby on rails 如何在has_many中找到不同的值:通过

Ruby on rails 如何在has_many中找到不同的值:通过,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,假设我的控制台中有以下内容: @user.favcolors => [#<FavColors id: 1, color_id: 18, fav_id: 1>, #<FavColors id: 2, color_id: 19, fav_id: 1>] @user.favcolors.count => 2 @user.favcolors => [#, #] @user.favcolors.count => 2 然而,由于fav_id在两个结果(1)中是

假设我的控制台中有以下内容:

@user.favcolors
=> [#<FavColors id: 1, color_id: 18, fav_id: 1>,
    #<FavColors id: 2, color_id: 19, fav_id: 1>]
@user.favcolors.count
=> 2
@user.favcolors
=> [#,
#]
@user.favcolors.count
=> 2
然而,由于fav_id在两个结果(1)中是相同的。我希望计数是1,而不是2

有没有办法在代码
@user.favcolors
中放入
where
子句?

@user.favcolors.find(:all,:select=>'DISTINCT favcolors.fav_id')。count对我来说很有效。谢谢你告诉我可以打电话给协会。
@user.favcolors.find(:all, :group => 'favcolours.fav_id')