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
Wie füge ich dem Agents
Modell für hinzu Customer
?
Ist das der beste Weg?
Customer.find(1).agents.create(customer_id: 1, house_id: 1)
Das obige funktioniert gut von der Konsole aus, ich weiß jedoch nicht, wie ich dies in der tatsächlichen Anwendung erreichen kann.
Stellen Sie sich vor, für den Kunden wird ein Formular ausgefüllt, das auch house_id
als Eingabe dient. Dann mache ich folgendes in meinem Controller?
def create
@customer = Customer.new(params[:customer])
@customer.agents.create(customer_id: @customer.id, house_id: params[:house_id])
@customer.save
end
Insgesamt bin ich verwirrt, wie Datensätze in die has_many :through
Tabelle aufgenommen werden sollen.