【发布时间】:2014-01-07 03:01:10
【问题描述】:
我正在构建一个棒球统计应用程序。我无法将游戏分成季节。
一场比赛有_许多击球、投球和防守。游戏也有一个played_date 字段,我可以从中获取年份。
基本上我想做的就是能够将游戏分成季节,并在那个季节中添加列。
例如,能够做到:
<% @player.each do |player| %>
<% player.battings.seasons.each do |battingseason| %>
<%= battingseason.total("homeruns") %>
<% end %>
<% end %>
所以 "battingseason.total("homeruns")" 将总结特定球员在该赛季中击出的总本垒打数。
我可以通过这个获得玩过哪些游戏的年份:
@game_seasons = @games.group_by { |g| g.played_date.beginning_of_year }
...但我不确定它有多大帮助。
从那里开始,我还需要能够将季节分为秋季和春季。例如,我目前拥有的:
def season
if self.game.played_date.month >= 9 && self.game.played_date.month <= 12
season = "fall"
else
season = "spring"
end
end
所以我的问题是我只是不确定将所有这些逻辑放在哪里,在控制器中,在模型中?以及具体如何输出,谢谢!
【问题讨论】:
标签: ruby-on-rails group-by sum