我有
User belongsTo Group
并且还有一个用户拥有该组,因此:
class Group ...
belongs_to :owner, -> {
joins(:groups).where( 'groups.id = users.group_id')
}, class_name: 'User'
我想将这种关系仅限于已经在该群组中的用户。
但lambda
自我User
,我无法访问原始对象(Group
)
该代码无效,因为它返回所有用户,而不仅仅是属于该组的用户。
有什么想法吗?
答案 0 :(得分:0)
你尝试过这样的事吗?
class User < ActiveRecord::Base
belongs_to :group
end
class Group < ActiveRecord::Base
belongs_to :owner, -> { where("users.group_id = id") }, foreign_key: :user_id, class_name: 'User'
end