set associations on aux records
This commit is contained in:
@@ -99,6 +99,18 @@ RSpec.describe HasAuxTable do
|
|||||||
expect(lot.vehicles.first.name).to eq("vehicle1")
|
expect(lot.vehicles.first.name).to eq("vehicle1")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "can set association on aux record" do
|
||||||
|
driver = Driver.create!(name: "John Doe")
|
||||||
|
car = Car.create!(name: "Honda Civic")
|
||||||
|
driver.car = car
|
||||||
|
expect(driver.car).to eq(car)
|
||||||
|
expect(driver.car_id).to eq(car.id)
|
||||||
|
driver.save!
|
||||||
|
|
||||||
|
driver = Driver.find(driver.id)
|
||||||
|
expect(driver.car).to eq(car)
|
||||||
|
end
|
||||||
|
|
||||||
describe "#changed?" do
|
describe "#changed?" do
|
||||||
it "returns true if the main record changes" do
|
it "returns true if the main record changes" do
|
||||||
car = Car.create!(name: "Honda Civic")
|
car = Car.create!(name: "Honda Civic")
|
||||||
|
|||||||
@@ -90,7 +90,6 @@ module SpecHelper
|
|||||||
t.create_aux :driver do |t|
|
t.create_aux :driver do |t|
|
||||||
t.integer :license_number
|
t.integer :license_number
|
||||||
t.references :car,
|
t.references :car,
|
||||||
null: false,
|
|
||||||
foreign_key: {
|
foreign_key: {
|
||||||
to_table: :vehicles_car_aux,
|
to_table: :vehicles_car_aux,
|
||||||
primary_key: :base_table_id
|
primary_key: :base_table_id
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ end
|
|||||||
|
|
||||||
class Driver < Person
|
class Driver < Person
|
||||||
aux_table :driver
|
aux_table :driver
|
||||||
belongs_to :car, inverse_of: :drivers
|
belongs_to :car, optional: true
|
||||||
end
|
end
|
||||||
|
|
||||||
class Captain < Person
|
class Captain < Person
|
||||||
|
|||||||
Reference in New Issue
Block a user