加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails Reverse Polymorphic Association

发布时间:2020-12-17 02:01:37 所属栏目:百科 来源:网络整理
导读:我正在为其中一所学校建立一个收费模块.为了使费用模块工作,我想定义费用模板(结构),它将有不同类型的费用(入场费,图书馆费,体育费等),各种折扣和任何适用的税收.费用,折扣和税收被定义为不同的模型,因为它们包含不同的属性. 以下是各种型号…… 首先是费用
我正在为其中一所学校建立一个收费模块.为了使费用模块工作,我想定义费用模板(结构),它将有不同类型的费用(入场费,图书馆费,体育费等),各种折扣和任何适用的税收.费用,折扣和税收被定义为不同的模型,因为它们包含不同的属性.

以下是各种型号……

首先是费用模板

class FeeTemplate < ActiveRecord::Base
    has_many :fee_template_particulars
end

然后是FeeParticulars ..

class FeeParticular < ActiveRecord::Base
    belongs_to :fee_template
    belongs_to :particulars,:polymorphic => true
end

现在是费用,折扣和税收模式

class Fee < ActiveRecord::Base
    has_many :fee_particulars,:as => particulars
end

class Discount < ActiveRecord::Base
    has_many :fee_particulars,:as => particulars
end

class Tax < ActiveRecord::Base
    has_many :fee_particulars,:as => particulars
end

从本质上讲,FeeTemplateParticular的数据库表将有一个类型列来存储费用/折扣/税的类型和id记录.

想要问你们关于我必须实施的方案的几个问题.

>这种情况的方法(多态)是否有益?
>如果上面的情况还可以,并且知道多态关联是单向运作的,但就我而言,我必须从费用细节中找到每种类型费用/折扣/税的细节,而不是相反.怎么办?
>有没有更好的方法来解决这个问题.

提前致谢.

解决方法

是的,这很好.

你有has_many的field_particular来查找不同类型的细节.您将能够针对细节的不同行为设置不同的课程.我认为这是一个非常好的问题设计.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读