假设我有三个模型
User(id, guest(boolean))
belongs_to :room_user
Room (id)
RoomUser (id, room_id, user_id)
has_many :users
现在我可以,room.room_users并取回该房间内的所有相关用户。这对于rails来说非常可行。
我现在想做的事情就像Room.room_users_active
所以在Room模型中我有:
def room_users_active
self.room_users.where(:......)
end
这里的挑战是我希望条件进入用户表。并执行以下操作:
返回用户不是访客的所有room_users(User.guest == false)。
想法?感谢
答案 0 :(得分:2)
未经测试,但应该可以使用,请尝试让我知道
def room_users_active
room_users.joins(:users).where('user.guest = false')
end
修正了错误的方法调用,请参阅here