2012-07-01 32 views
0

我目前正试图在rails应用程序中实现报告模块。感谢这里提供的一些帮助:Ruby on Rails object reporting,我决定走上编码常用指标并用这些指标填充报告的道路。Rails报告对象

我得把是如何创建指标 - 本质上我需要有一个metric对象,我可以在我的目标框架(如内使用,如果我有一个target对象,其中target.value是0.5,我可以有target.metric_id了解哪个指标是针对的,并据此报告)。

我的问题是如何在模型结构中存储度量的公式。一个简单的度量标准就是利润,我可以做sales.selling_prices.sum - sales.cost_prices.sum。我如何设置一些允许存储此公式的列?所有公式都将使用其他对象进行计算,如利润示例中所示。

任何援助将不胜感激。

谢谢!

回答

1

根据您的公式如何雄心勃勃得到的,你可以用这样的公制开始:

operation_type:string, one of %w(add sub mult div) 
left_operand:decimal 
right_operand:decimal 

然后,计算,你可能有一个方法度量信息,如:

def result 
    if operation_type == 'add' 
    left_operand + right_operand 
    elsif operation_type == 'sub' 
    left_operand - right_operand 
    ... 
end 

当您创建指标(可能是某种管理面板)时,您可以选择源输入的方式(例如,left_operand设置为sales.selling_prices.sum等)。

+0

这就是我正在寻找的东西 - 我在脑海中有这样一个模糊的想法,但无法让它实现。谢谢! –

+0

很高兴它有帮助! – sigre

+0

一个想法 - 任何想法如何将left_operand和right_operand设置为始终使用对象变量?即在我的指标中,左和右操作数将始终是相同的变量(例如sales.selling_prices.sum),我希望能够简单地调用metric.result,而不必每次都选择对象。 –