【问题标题】:Polymorphic Association other than model name模型名称以外的多态关联
【发布时间】:2017-12-08 07:35:56
【问题描述】:

我有两个模型:

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'`

赞助商.rb

has_many :payments, as: :payable, dependent: :destroy

我可以使用 payable_type "sponsor" 和 payable_id "sponsor_id" 创建付款。
我可以访问@payment.payable

结果是payable_type 是赞助商。

我想将应付类型存储为sponsorship 并为其建模显然是赞助商。如果我将访问@payment.payable

结果应该是payable_type是赞助。

欢迎尽快提出任何建议。

【问题讨论】:

    标签: ruby-on-rails associations polymorphic-associations


    【解决方案1】:

    对此我想不出其他办法。

    class Sponsor < ActiveRecord::Base
    end
    
    class Sponsorship < Sponsor
    end
    

    【讨论】:

    • 感谢您的帮助。但它不适合我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多