3

如果有人有更好的标题,请告诉我:p

我有以下型号:

class Car
  has_many :car_drivers
  has_many :drivers, :through => :car_drivers
end

class Driver
  has_many :car_drivers
  has_many :cars, :through => :car_drivers
end

class CarDriver
  belongs_to :car
  belongs_to :driver
end

现在我想通过 Car 创建一个新的 Driver,但连接表 (car_drivers) 中的记录也应该创建。我尝试了以下方法,但是在创建汽车记录时,连接表记录不是:driver_object.cars.create

在这种情况下,最佳做法是什么?

4

1 回答 1

8

以下将创建 的新实例Car,但不将其与Driver实例关联。

driver_object.cars.create

以下作品

driver_object.cars << Car.create(...)

<<ActiveRecord 中的方法将新创建Car的实例附加到:cars集合上Driver 调用saveon Driver,创建CarDriver实例以将新创建​​的实例Cardriver_object.

于 2012-09-29T17:31:37.837 回答