Gre*_*ber 3 ruby-on-rails associations
如果有人有更好的头衔,请告诉我: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
Run Code Online (Sandbox Code Playgroud)
现在我想通过Car创建一个新的Driver,但是也应该创建join-table(car_drivers)中的记录.我尝试了以下操作,但在创建汽车记录时,连接表记录不是:driver_object.cars.create
在这种情况下,最佳做法是什么?
以下是创建新实例Car,但不将其与Driver实例关联.
driver_object.cars.create
Run Code Online (Sandbox Code Playgroud)
以下作品
driver_object.cars << Car.create(...)
Run Code Online (Sandbox Code Playgroud)
该<<在ActiveRecord的方法追加新创建的Car实例的:cars收集上Driver ,并呼吁save对Driver,创建CarDriver实例涉及新的Car有driver_object.
| 归档时间: |
|
| 查看次数: |
3424 次 |
| 最近记录: |