gpt4 book ai didi

ruby-on-rails - Rails 反向多态关联

转载 作者:行者123 更新时间:2023-12-04 05:58:27 26 4
gpt4 key购买 nike

我正在为其中一所学校建立一个收费模块。为了使费用模块正常工作,我想定义费用模板(结构),其中包含不同类型的费用(入场费、图书馆费、体育费等)、各种折扣和任何适用的税费。费用、折扣和税收被定义为不同的模型,因为它们包含不同的属性。

以下是各种型号...

首先是费用模板

class FeeTemplate < ActiveRecord::Base
has_many :fee_template_particulars
end

然后是费用详情..
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 来查找不同类型的详细信息。您将能够针对细节的不同行为进行不同的分类。我认为这是针对您的问题的一个非常好的设计。

    关于ruby-on-rails - Rails 反向多态关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198727/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com