假设有以下数据模式:
在这个例子中,假设我有多个资源,每个资源都可以以多种方式使用。例如,一个资源是一个“小部件”。小部件可以被“foo”和“bar”。Gizmos也可以被“foo”和“bar”。这些用法类型按不同的费率计费,甚至可能为不同的客户设置不同的费率。每个用法(资源的用法)的发生记录在Usage表中。每个计费率(针对客户、资源和类型组合)存储在billing表中。
(顺便说一句,如果这个数据模式不是解决这个问题的正确方法,请提出建议。)
使用Ruby on Rails和ActiveRecord,是否可以从Billings到Usages创建has_many关系,以便我可以获取给定计费率的用法实例列表?是否有我不知道的“has_many, :through”的语法?
再次强调,我可能从错误的角度来解决这个问题,因此如果您能想到更好的方法,请说出来!
Usage
======
client_id
resource
type
amount
Billing
======
client_id
usage_resource
usage_type
rate
在这个例子中,假设我有多个资源,每个资源都可以以多种方式使用。例如,一个资源是一个“小部件”。小部件可以被“foo”和“bar”。Gizmos也可以被“foo”和“bar”。这些用法类型按不同的费率计费,甚至可能为不同的客户设置不同的费率。每个用法(资源的用法)的发生记录在Usage表中。每个计费率(针对客户、资源和类型组合)存储在billing表中。
(顺便说一句,如果这个数据模式不是解决这个问题的正确方法,请提出建议。)
使用Ruby on Rails和ActiveRecord,是否可以从Billings到Usages创建has_many关系,以便我可以获取给定计费率的用法实例列表?是否有我不知道的“has_many, :through”的语法?
再次强调,我可能从错误的角度来解决这个问题,因此如果您能想到更好的方法,请说出来!