0

あるモデルから別のモデルに2つのhas_many関係を取得しようとしています。具体的には、次のようにします。

class Driver < Active:Record::Base
  has_many :reservations
  has_many :requested_reservations

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

1つ目は、予約モデルでdriver_idを使用する通常のhas_many/belongs_to関係です。

ただし、2つ目は、とを呼び出し@driver.requested_reservations@reservation.requester、Reservationsクラスのrequester_id列を使用できるようにします。正しく機能させるには、has_many行とbelongs_to行の最後に何を置く必要がありますか?

4

2 に答える 2

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
于 2012-05-04T18:13:17.280 に答える
0

以前に尋ねられた同様の質問があります。詳細については、次のリンクを参照してください。

2つのモデル間の複数の関連付けをレールします

ActiveRecordアソシエーションを使用してレール内のモデル間の複数の関係を指定する方法

于 2012-05-04T18:15:58.513 に答える