3

我有以下两个模型:

class Seller < ActiveRecord::Base
  has_many :cars, :dependent => :destroy
end

class Car < ActiveRecord::Base
  belongs_to :seller
end

现在我需要能够在将对象保存到数据库之前从汽车中引用卖方,这目前不起作用:

seller = Seller.new
=> #<Seller id: nil, name: nil, created_at: nil, updated_at: nil>
seller.cars.build(:brand => 'Audi', :model_name => 'A4')
=> #<Car id: nil, brand: 'Audi', model_name: 'A4', created_at: nil, updated_at: nil>

现在该协会从卖方工作,但不是从汽车方面:

car = seller.cars.first
=> #<Car id: nil, brand: 'Audi', model_name: 'A4', created_at: nil, updated_at: nil>
car.seller
=> nil

如何让协会正常运作?

PS。如前所述,如果我将对象保存到数据库,那么引用将按应有的方式工作。

4

1 回答 1

5

好吧,我似乎自己找到了答案:

我必须:inverse_of在卖家上指定然后它才能工作:

class Seller < ActiveRecord::Base
  has_many :cars, :inverse_of => :seller, :dependent => :destroy
end
于 2013-04-06T14:57:25.457 回答