set associations on aux records

This commit is contained in:
Dylan Knutson
2025-07-18 19:36:46 +00:00
parent ea33ffbb11
commit 04f6f78730
3 changed files with 13 additions and 2 deletions

View File

@@ -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")

View File

@@ -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

View File

@@ -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