Rails - 多态关联连接表

时间:2012-07-09 16:48:30

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我目前正在尝试建立一个看起来非常简单的模型结构,但我还没有把它搞定。

我有一个模型payment,可以属于customersupplier(可以有很多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模型?

谢谢!

1 个答案:

答案 0 :(得分:2)

就模型而言,这已经足够了。您只需将:payment_originator_type:payment_originator_id迁移到付款表即可。您在上面定义的关联将自动为您填写这些关联。