【发布时间】:2011-05-05 23:57:34
【问题描述】:
场景: 我有一堆火柴。我想在我的视图中创建一个带有 HTML 链接的侧栏,您可以在其中按月查看比赛。这是我当前的实现:
当前解决方案:
#Controller
@matches_by_month = Match.find(:all).group_by {|match| match.kickoff.strftime('%B %Y')}
#View
<% @matches_by_month.each do | month, matches | %>
<%=link_to month %><br>
<% end %>
# Returns in the side column links that look like this.
# April 2011
# May 2011
# Which is great!
寻求建议: 我认为这不是一个好的解决方案,因为在一段时间内这个页面会变慢。对?到 2013 年,我可以拥有 1500 条记录,为了获得月份而不断查找 (:all) 匹配项似乎是一种浪费。我可以使用其他解决方案吗?我是否应该在跟踪月份的“匹配”之外保留一个单独的表格。也许我对此有点过分了,目前的解决方案还可以。想法?
【问题讨论】:
标签: ruby-on-rails-3 activerecord sqlite enumeration