如何使用条件查询嵌套资源

时间:2011-08-26 02:47:32

标签: ruby-on-rails ruby-on-rails-3

我有以下型号:

User (id)
UserRoom (user_id, room_id, banned(boolean)
Room (id, uuid)

现在我可以按如下方式获取用户的所有房间:

current_user.rooms.find_all_by_uuid(@requested_ids)

我想要做的是将其扩展为仅显示未被禁止的房间(禁止=>假)。

将该条件添加到查询中的右键是什么?

由于

1 个答案:

答案 0 :(得分:1)

尝试使用这样的条件:

current_user.rooms.find :all, :conditions => { :uuid => @requested_id, :banned => false }

使用@requested_ids作为数组(可能不那么优雅):

current_user.rooms.find :all, :conditions => ["uuid IN (?) AND banned=0", @requested_ids]