class Agents << ActiveRecord::Base
belongs_to :customer
belongs_to :house
end
class Customer << ActiveRecord::Base
has_many :agents
has_many :houses, through: :agents
end
class House << ActiveRecord::Base
has_many :agents
has_many :customers, through: :agents
end
Как добавить к модели Agents
для Customer
?
Это лучший способ?
Customer.find(1).agents.create(customer_id: 1, house_id: 1)
Вышеописанное прекрасно работает с консолью, но я не знаю, как это сделать в реальном приложении.
Представьте, что форма заполнена для клиента, который также принимает house_id
в качестве ввода. Затем я делаю следующее в своем контроллере?
def create
@customer = Customer.new(params[:customer])
@customer.agents.create(customer_id: @customer.id, house_id: params[:house_id])
@customer.save
end
В целом я смущен тем, как добавлять записи в таблицу has_many :through
?