, как добавить записи на has_many: через ассоциацию в направляющих

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.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: до таблица?

91
задан davegson 2 March 2016 в 08:41
поделиться