我目前正在尝试建立一个看起来非常简单的模型结构,但我还没有把它搞定。
我有一个模型payment
,可以属于customer
或supplier
(可以有很多payments
)。
我的问题是我是否需要手动创建一个接口表来允许这个,或者如果声明多态关联会为我做这个?
e.g。我有:
class Payment < ActiveRecord::Base
belongs_to :payment_originator, :polymorphic => true
end
class Customer < ActiveRecord::Base
has_many :payments, :as => :payment_originator
end
class Supplier < ActiveRecord::Base
has_many :payments, :as => :payment_originator
end
这是否足够,还是我还需要使用生成器来手动创建payment_originator模型?
谢谢!
答案 0 :(得分:2)
就模型而言,这已经足够了。您只需将:payment_originator_type
和:payment_originator_id
迁移到付款表即可。您在上面定义的关联将自动为您填写这些关联。