我有以下模型:
class Business < ActiveRecord::Base
has_many :customers, :inverse_of => :business
has_many :payments, :inverse_of => :business
end
class Customer < ActiveRecord::Base
belongs_to :business, :inverse_of => :customer
has_many :payments, :inverse_of => :customer
end
class Payment < ActiveRecord::Base
belongs_to :customer, :inverse_of => :payment
belongs_to :business, :inverse_of => :payment
end
在做 business.customers
的时候没问题,但是当我做 business.payments
的时候出现了一个错误:在 Business 中找不到 payment 的反向关联
。
我不确定为什么会出现这种情况。我两种方式都用了完全相同的关联,我的 schema.db 也看起来很好。这里可能有什么问题呢?
编辑
当我删除 has_many :payments
中的 inverse_of => :business
后,它就可以工作了。为什么会这样呢?这与 Payment 属于 customer 和 business 有关吗(这实际上并不重要,对吗)?