1
我有以下2种型号:的Rails 3:集团按日期和另一列
Requisition
created_date
associate_id
value
Associate
id
name
我试图想出一个方式来显示每月一个表/年,因为这样的:
07/2011
Associate name | Number of requisitions | Total value
associate 1 | 2 | 300
...
08/2011
Associate name | Number of requisitions | Total value
associate 1 | 3 | 450
associate 2 | 1 | 100
...
等等。
这是我目前的控制器代码:
@search = Requisicao.search(params[:search])
temp = @search.all(:conditions => {:status_index => Requisicao::STATUSES.index('aprovada')})
@requisicaos = {}
temp.group_by { |t| t.data_efectiva.beginning_of_month }.each do |data, reqs|
@requisicaos[data] = {}
reqs.each do |req|
@requisicaos[data][req.socio] = [] unless not @requisicaos[data][req.socio].nil?
@requisicaos[data][req.socio] << req
end
end
记住我使用的元搜索和我的查询另一个(无关紧要的)条件。我在这里完成的是散列哈希,如下所示:{date1 => {associate1 => [requisition1,requisition2]}}
对不起,很长的文章,但我的问题是:有没有更好的方法通过利用group_by好一点,或者使用一些ruby魔法来创建哈希/列表,或者两者兼而有之?
由于提前, 佩德罗
不管你想出,你应该把它放在你的模型HTTP ://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model – Ian