私はUser
モデルを持っていhas_many :scores
ます。
ユーザーに :score を追加すると、ユーザーはプレイカウンターの再計算を行う必要があります。
class User < ActiveRecord::Base
has_many :scores, inverse_of: :user
accepts_nested_attributes_for :scores
attr_accessible :level
before_save: set_levels
def set_levels
self.level = calculate_level
end
def calculate_level
self.scores.count
end
end
スコアを介してスコアを追加すると、User.score.create(:time => 10)
保存されますが、レベルは更新されません。
set_levels
子がアタッチされている場合、どうすれば再実行できますか?
(これはカウンターキャッシュ列ではなく、より複雑な方法です。ここでスケッチしただけです)
どうもありがとう