4
我正在为其中一所学校建立一个收费模块。为了使费用模块起作用,我想要定义费用模板(结构),这些模板(结构)将具有不同类型的费用(入场费,图书馆费,体育费等),各种折扣和任何适用的税收。费用,折扣和税款被定义为不同的模型,因为它们包含不同的属性。Rails Reverse Polymorphic Association
这里有各种型号...
一费模板
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的数据库表将有一个类型列来存储费用/折扣/税和类型记录的类型。
想问你们对我一定要实现的场景几个问题..
是该方法(polymorohic)适合这种情况呢?
如果以上情况没有问题,并且知道多态协会是一种方式,但在我的情况下,我将不得不从费用明细中找到每种类型费用/折扣/税的详细信息,而不是反过来。这将如何完成?
有没有更好的方法来解决这个问题。
在此先感谢。