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
属性的作用域是唯一的。我想确保我的关联只获取组
whereauthentication.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:
此关联属于身份验证吗?如果是这样,在关联逻辑中有一些奇怪的东西,或者我遗漏了一些东西。为什么搜索只属于一个(?)身份验证且具有身份验证条件的组?如果身份验证不匹配怎么办?显示您的模型,以清楚地了解它…好的…真的。我可以从团队的角度来做。我只是想看看是否有一种优雅的方式让它与协会合作。我想我还可以为身份验证编写一个名为组的方法