1

感谢任何人提前抽出一点时间,并道歉,因为我确信这是一个令人沮丧的基本问题。

我将如何应用如下公式:

total_score = start_score + sum(per_game_scores)/no_of_games - (time/some_value);

...为每次迭代修改 Rails 应用程序中的值per_game_score

比如说,这是一个梦幻足球场景。我希望能够在每场比赛后与玩家一起提交一份表格,per_game_score并相应地total_score更新统计数据......

作为 Rails 的新手,我知道所有这个过程的基础知识——除了在哪里存储公式、如何在提交表单时访问它以及如何确保它被执行以保持total_score价值最新。

再次感谢您的帮助,我在短时间内就对这里的社区印象深刻!

4

1 回答 1

0

那种东西作为一种方法在播放器上可能很有效。我假设你有一个Player模型,并且它has_many :games

class Player < ActiveRecord::Base
  has_many :games

  before_save :update_total_score

  def update_total_score
    self.total_score = start_score + games.average(:score) - time/some_value
  end
end

然后你可以用before_save回调连接它:

class Game < ActiveRecord::Base
  belongs_to :player

  before_save :update_player_total_score

  private

  def update_player_total_score
    player.update_total_score
  end
end
于 2013-01-14T13:27:08.873 回答