Ruby on rails 在ruby助手中移动总计数逻辑的更干净的方法
这是一个有点愚蠢的问题,但我一直在寻找一个很好的方法来把它放在helper方法中。 我在游戏中循环,得到每个项目的总积分和获胜计数方法。 把所有的东西放在一起展示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方法吗
- 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