Ruby on rails 在ruby助手中移动总计数逻辑的更干净的方法

Ruby on rails 在ruby助手中移动总计数逻辑的更干净的方法,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,Ruby On Rails 3.1,这是一个有点愚蠢的问题,但我一直在寻找一个很好的方法来把它放在helper方法中。 我在游戏中循环,得到每个项目的总积分和获胜计数方法。 把所有的东西放在一起展示 - count = 0 - win_count = 0 - game.results.each do |result| - count+=result.total - win_count+=result.wins ="total wins#{win_count}" ="total#{count}" 有更好的ruby方法吗

这是一个有点愚蠢的问题,但我一直在寻找一个很好的方法来把它放在helper方法中。 我在游戏中循环,得到每个项目的总积分和获胜计数方法。 把所有的东西放在一起展示

- count = 0
- win_count = 0
- game.results.each do |result|
  - count+=result.total
  - win_count+=result.wins

="total wins#{win_count}"
="total#{count}"
有更好的ruby方法吗


注意:我需要一个不使用模型的解决方案。

确定有更好的方法,更好的方法是使用模型的方法,而不是助手。尽可能避免使用助手

class Game < ActiveRecord::Base
  has_many :results

  def winning_count
    wining_results.count
  end

  def winding_results
    results.where(win: true)
  end

  def results_count
    results.count
  end

end

问题是此应用程序没有型号。外部服务正在json中重新调整结果。@新手您可以围绕json响应数据创建一个瘦包装(表示模型)。将您需要的任何逻辑添加到表示模型中。我经常使用这种方法。同意@WizardofOgz使用服务对象/演示者。这方面的文章很好:(特别是#2)
@game.results_count
@game.winning_count