Ruby on rails 在RubyonRails中创建一个条件应用于主表的HASU多关联?

Ruby on rails 在RubyonRails中创建一个条件应用于主表的HASU多关联?,ruby-on-rails,ruby-on-rails-3,activerecord,associations,Ruby On Rails,Ruby On Rails 3,Activerecord,Associations,我有身份验证,它有许多组,使用uid作为主键,使用organizer\u id作为外键,没有问题 但是uid对于provider属性的作用域是唯一的。我想确保我的关联只获取组whereauthentication.provider==“meetup”。我试过: has_many :groups, :primary_key => "uid", :foreign_key => "organizer_id", :conditions => {:provider => "meet

我有
身份验证
,它有许多
,使用
uid
作为主键,使用
organizer\u id
作为外键,没有问题

但是
uid
对于
provider
属性的作用域是唯一的。我想确保我的关联只获取
where
authentication.provider==“meetup”
。我试过:

has_many :groups, :primary_key => "uid", :foreign_key => "organizer_id", :conditions => {:provider => "meetup"}
但这只是试图用
provider==“meetup”

如何在主表
身份验证
上指定条件?

请尝试:

has_many :groups, :primary_key => "uid", :foreign_key => "organizer_id", :include => :authentication, :conditions => {:authentication => {:provider => "meetup"}}
更新:

如果组属于以“组织者id”作为外键的身份验证,则只需:

Group.includes(:authentication).where(:authentication => {:provider => "meetup"})

返回:
Failure/Error:@authentication.groups.should include(@group)}ActiveRecord::StatementInvalid:SQLite3::SQLException:没有这样的列:authentication.provider:
此关联属于身份验证吗?如果是这样,在关联逻辑中有一些奇怪的东西,或者我遗漏了一些东西。为什么搜索只属于一个(?)身份验证且具有身份验证条件的组?如果身份验证不匹配怎么办?显示您的模型,以清楚地了解它…好的…真的。我可以从团队的角度来做。我只是想看看是否有一种优雅的方式让它与协会合作。我想我还可以为
身份验证编写一个名为
组的方法