2012-05-04 14 views
0

私はあるモデルから別のモデルへhas_many関係を2つ取得しようとしています。 は具体的には、私がしたい:Railsは他のモデルと二重の関係を持っています

class Reservations < Active:Record::Base 
    belongs_to :driver 
    belongs_to :requester 

最初のものは予約モデルにdriver_id使用して、通常にhas_many/belongs_toの関係です。

しかし、第2の場合、@driver.requested_reservations@reservation.requesterを呼び出し、Reservationsクラスのrequester_id列を使用できるようにしたいと考えています。 正しく動作するには、それらのhas_manyとbelongs_to行の最後に何を入れる必要がありますか?

答えて

2

希望の結果を得るために、クラスと外部キーを設定できると思います。

class Driver < Active:Record::Base 
    has_many :reservations 
    has_many :requested_reservations, class_name: 'Reservation', foreign_key: 'your_id' 
    ... 
end 

class Reservations < Active:Record::Base 
    belongs_to :driver 
    belongs_to :requester, class_name: 'Driver', foreign_key: 'requester_id' 
    ... 
end 
+0

は素晴らしい作品、ありがとう!私はReservationsモデルの行の最後にforeign_keyを追加するのを忘れていました –

関連する問題