If anyone has a better title, please let me know :p
I have the following models:
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
Now I want to create a new Driver via Car, but the record in the join-table (car_drivers) should be created as well. I tried the following, but while the car record is created, the join-table record is not: driver_object.cars.create
What is the best practice in this case?
The following is going to create new instance of Car, but does not associate it with the Driver instance.
driver_object.cars.create
The following works
driver_object.cars << Car.create(...)
The << method in ActiveRecord appends the newly created Car instance to the :cars collection on Driver and calls save on Driver, creating the CarDriver instance to relate the new Car with driver_object.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With