Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3:会计季刊_Ruby On Rails_Ruby On Rails 3_Activerecord - Fatal编程技术网

Ruby on rails Rails 3:会计季刊

Ruby on rails Rails 3:会计季刊,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我有一个正在开发的会计程序,它包含嵌套在employee对象中的工资存根表 我想实施一个系统,识别我的工资存根的@stub.date月,并获得该月在给定年份中的任何季度(第一、第二、第三或第四季度)的所有@stub.net_工资总额 我希望通过rails的方式来实现这一点!有人能给我指出正确的方向吗?我被难住了。这假设了两种不同的东西(比如现有的员工id),但应该能满足您的需要。我没有在数据库中进行求和,因为您可能希望检查所有存根以进行验证 require "active_support" c

我有一个正在开发的会计程序,它包含嵌套在employee对象中的工资存根表

我想实施一个系统,识别我的工资存根的@stub.date月,并获得该月在给定年份中的任何季度(第一、第二、第三或第四季度)的所有@stub.net_工资总额


我希望通过rails的方式来实现这一点!有人能给我指出正确的方向吗?我被难住了。

这假设了两种不同的东西(比如现有的员工id),但应该能满足您的需要。我没有在数据库中进行求和,因为您可能希望检查所有存根以进行验证

require "active_support"

class Stub < ActiveRecord::Base

  def self.net_pay_for_quarter
    stubs = where(:employee_id => employee_id).
            where("date >= ?", Quarter.begin_of_quarter(date)).
            where("date < ?", Quarter.end_of_quarter(date))
    stubs.map(&:net_pay).sum
  end

end


class Quarter
  def self.begin_of_quarter(date)
    "2012-#{date.month}-01".to_date.beginning_of_month
  end

  def self.end_of_quarter(date)
    "2012-#{date.month}-01".to_date.end_of_month
  end

  def self.quarter_integer(date)
    (date.month / 4) + 1
  end
end
需要“主动支持”
类存根employee\u id)。
其中(“日期>=?”,季度。开始季度(日期))。
式中(“日期<?”,季度。季度末(日期))
存根图(&:净工资)。总和
结束
结束
班级宿舍
定义自季度开始(日期)
“2012-{date.month}-01”。截止日期。月初
结束
定义自本季度末(日期)
“2012-{date.month}-01”。截止日期。月末
结束
定义自身四分之一整数值(日期)
(日期:年月日)+1
结束
结束

第一季度不总是一月/二月/三月吗?是的。第一次=[一月、二月、三月],第二次=[四月、五月、六月],等等。。我在想一个可能的解决方案:如果@stub对象上有一个:quarter字段,我可以从那里开始。只是不太确定我会如何查询每个:四分之一,然后得到它的总和。这是我需要的踢。谢谢你的帮助!