Полный код, необходимый для решения вашей проблемы, неясен, но в общих чертах вот как я бы поступил при выполнении этой структурной миграции.
Во-первых, определите две четкие ассоциации:
class Garage < ApplicationRecord
has_many :user_cars, through: :user, class_name: 'Car'
has_many :cars
end
Затем добавьте несколько методов, которые пытаются получить оба, как вы описали:
class Garage < ApplicationRecord
has_many :user_cars, through: :user, class_name: 'Car'
has_many :cars
def cars
user_cars.presence || super
end
end
Затем, когда все данные были перенесены в новую структуру, вы можете удалить старую связь:
class Garage < ApplicationRecord
has_many :cars, through: :user
end