如果有人有更好的头衔,请告诉我: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,但是也应该创建join-table(car_drivers)中的记录。我尝试了以下操作,但在创建汽车记录时,联接表记录不是:driver_object.cars.create
在这种情况下,最佳做法是什么?
答案 0 :(得分:8)
以下内容将创建Car
的新实例,但不会将其与Driver
实例关联。
driver_object.cars.create
以下作品
driver_object.cars << Car.create(...)
ActiveRecord中的<<
方法将新创建的Car
实例附加到:cars
和调用Driver
上的save
集合中在Driver
上创建CarDriver
个实例,将新的Car
与driver_object
相关联。