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
¿Cómo agrego al Agents
modelo para Customer
?
Es esta la mejor manera?
Customer.find(1).agents.create(customer_id: 1, house_id: 1)
Lo anterior funciona bien desde la consola, sin embargo, no sé cómo lograrlo en la aplicación real.
Imagine que se llena un formulario para el cliente que también lo toma house_id
como entrada. Entonces, ¿hago lo siguiente en mi controlador?
def create
@customer = Customer.new(params[:customer])
@customer.agents.create(customer_id: @customer.id, house_id: params[:house_id])
@customer.save
end
En general, estoy confundido sobre cómo agregar registros en la has_many :through
tabla.