我有两种模式:
Payment.rb
belongs_to :payer, polymorphic: true, required: true
belongs_to :payable, polymorphic: true
belongs_to :sponsor, -> { where(payments: { payable_type: 'Sponsor' }) },
foreign_key: 'payable_id'`
Sponsor.rb
has_many :payments, as: :payable, dependent: :destroy
我可以使用payable_type
“赞助商”和payable_id
“sponsor_id”创建付款。
我可以访问@payment.payable
结果是paid_type是赞助商。
我希望将应付款类型存储为sponsorship
,并将其模型显示为赞助商。如果我将访问@payment.payable
。
此结果应为paid_type为赞助。
欢迎任何建议尽快。
答案 0 :(得分:0)
我无法想到这一点。
class Sponsor < ActiveRecord::Base
end
class Sponsorship < Sponsor
end