0

我试图从一个模型到另一个模型获得两个 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

第一个是在预订模型上使用 driver_id 的正常 has_many/belongs_to 关系。

但是对于第二个,我希望能够调用@driver.requested_reservationsand @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

以前也有人问过类似的问题。有关更多信息,请参阅以下链接:

Rails 两个模型之间的多重关联

如何使用 ActiveRecord 关联指定 Rails 中模型之间的多个关系

于 2012-05-04T18:15:58.513 回答