ruby-on-rails – Rails Reverse Polymorphic Association

ruby-on-rails – Rails Reverse Polymorphic Association,第1张

概述我正在为其中一所学校建立一个收费模块.为了使费用模块工作,我想定义费用模板(结构),它将有不同类型的费用(入场费,图书馆费,体育费等),各种折扣和任何适用的税收.费用,折扣和税收被定义为不同的模型,因为它们包含不同的属性. 以下是各种型号…… 首先是费用模板 class FeeTemplate < ActiveRecord::Base has_many :fee_template_part 我正在为其中一所学校建立一个收费模块.为了使费用模块工作,我想定义费用模板(结构),它将有不同类型的费用(入场费,图书馆费,体育费等),各种折扣和任何适用的税收.费用,折扣和税收被定义为不同的模型,因为它们包含不同的属性.

以下是各种型号……

首先是费用模板

class FeeTemplate < ActiveRecord::Base    has_many :fee_template_particularsend

然后是FeeParticulars ..

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

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

class Fee < ActiveRecord::Base    has_many :fee_particulars,:as => particularsendclass discount < ActiveRecord::Base    has_many :fee_particulars,:as => particularsendclass Tax < ActiveRecord::Base    has_many :fee_particulars,:as => particularsend

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

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

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

提前致谢.

解决方法 是的,这很好.

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

总结

以上是内存溢出为你收集整理的ruby-on-rails – Rails Reverse Polymorphic Association全部内容,希望文章能够帮你解决ruby-on-rails – Rails Reverse Polymorphic Association所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1267128.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存