Rails - 查找最大实例方法

时间:2013-12-04 00:31:40

标签: ruby-on-rails methods max instance

我有一个名为entry_sum的实例方法,它总结了一些其他实例方法。

...
def game4sum
  if games[3] and games[3].winning_team_id == game4_selection
    then 1
  else 0
  end 
end

def entry_sum
  game1sum + game2sum + game3sum + game4sum
end

在我看来,我正在运行

<% @entries.each do |entry| %>
...
<%= entry.entry_sum %> 

我的问题是,如果@entries中有X个条目,是否有可能找到entry_sum的最大值?我想找出entry_sum值最高的条目。这是我的第一个应用程序,我觉得我需要重组/访问类与实例方法。

1 个答案:

答案 0 :(得分:1)

您可以使用检测并检查最大值。我在下面给出了一个完整的例子。您只需要将最后一行调整到您的程序中。

require 'ostruct'
@entries = [OpenStruct.new(:entry_sum => 1), OpenStruct.new(:entry_sum => 4), OpenStruct.new(:entry_sum => 5), OpenStruct.new(:entry_sum => 2)]
@entries.detect { |entry| entry.entry_sum == @entries.map(&:entry_sum).max }