我正在使用 Ruby on Rails 构建财务报告应用程序。在应用程序中,我有每月财务报表对象(以“收入”作为属性)。对于任何单一的财务报表,我想显示 (1) 年初至今的收入,和 (2) 去年年初至今的收入(日历年很好)。每个对象还有一个名为“月”的日期(不是日期时间)属性(注意“月”变量名称与“月”方法名称混淆......也许我应该更改该变量名称)。
所以...
我认为我需要(1)在适当的日期范围内“找到”财务报表数组(即对象),然后(2)对“收入”字段求和。到目前为止,我的代码是...
def ytd_revenue
# Get all financial_statements for year-to-date.
financial_statements_ytd = self.company.financial_statements.find(:all,
:conditions => ["month BETWEEN ? and ?", "self.month.year AND month.month = 1",
"self.month.year AND self.month.month" ])
# Sum the 'revenue' attribute
financial_statements_ytd.inject(0) {|sum, revenue| sum + revenue }
结尾
这不会破坏应用程序,但会返回不正确的“0”。
任何想法或帮助将不胜感激!