2011-07-20 7 views
0

は、私は今、私は3つのモデルRails - アクティブレコードを使用してネストされた条件でクエリを実行する方法

User(id, guest(boolean)) 
belongs_to :room_user 
Room (id) 
RoomUser (id, room_id, user_id) 
has_many :users 

を行うroom.room_usersとその部屋にいるすべての関連するユーザーを取り戻すことができていると言うことができます。それはレールで非常にうまくいく。

def room_users_active 
    self.room_users.where(:......) 
end 

ここでの課題は、私は条件は、ユーザーテーブルに到達したいです。私は今、何をしたいか

は、だから私は持っルームモデルでRoom.room_users_active

のようなものです。

ユーザーがゲストではないすべてのroom_users(User.guest == false)を返します。

アイデア?おかげ

答えて

2

はテストされていないが、それは、仕事試してみて、私は

def room_users_active 
    room_users.joins(:users).where('user.guest = false') 
end 

が間違ったメソッド呼び出しを修正知っている必要があります参照here

+0

おかげで、その間違った引数の型の記号(予想モジュール) – AnApprentice

+0

Iとエラーちょうど更新された、私は間違った方法を使用した。やってみよう。 – Fabio

+0

それはちょうどそれについて、更新する価値のあるタイプミスのカップルです。 。ありがとうございました! ---- joins(:user).where( 'users.guest = false') – AnApprentice

関連する問題