我正在尝试为某个日期范围生成统计信息。例如,我有一个带有“持续时间”属性的项目模型。用户可以从菜单中选择三个不同的值:
- 学年
- 学期
- 夏季学期
这是我目前在搜索控制器中的内容:
def index
unless params[:from].nil? and params[:to].nil?
@result = Project.where('start_date >= ? AND start_date <= ?', Date.strptime(params[:from], "%m/%d/%Y"), Date.strptime(params[:to], "%m/%d/%Y"))
...
end
这让我得到了所有项目的数组,但我无法将该数组转换为统计数据。
我想获得持续时间为学年的项目总数、持续时间为学期的项目总数和持续时间为夏季学期的项目总数。
代码必须足够灵活,如果稍后我将“一个月”添加到选项列表中,代码就会选择它。
我以前用金额做过,但不是用字符串值:Rails 3. Get totals from array
结果将类似于以下内容:
** Duration **
Academic year: 12
Semester: 9
Summer term: 5
** Course Disciplines **
Dental: 11
Biomedical: 3
Nursing: 7
** many more other attributes ***
谢谢!