假设以下数据模式:
Usage
======
client_id
resource
type
amount
Billing
======
client_id
usage_resource
usage_type
rate
在此示例中,假设我有多个资源,每个资源都可以以多种方式使用。例如,一个资源是widget
. Widgets
可以foo
编辑,他们可以bar
编辑。 Gizmo
s 也可以foo
ed 和bar
ed。这些使用类型按不同的费率计费,甚至可能针对不同的客户使用不同的费率。每次使用(资源)的出现都记录在使用表中。每个计费费率(针对客户端、资源和类型组合)都存储在计费表中。
(顺便说一句,如果这个数据模式不是解决这个问题的正确方法,请提出建议。)
是否可以使用 Ruby on Rails 和 ActiveRecord 创建has_many
从 Billings 到 Usages 的关系,以便我可以获得给定计费率的使用实例列表?有没有has_many, :through
我不知道的语法?
再一次,我可能从错误的角度来处理这个问题,所以如果你能想到更好的方法,请说出来!