我有一个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
如果有孩子,我该如何重新运行?
(不是countercache列,方法比较复杂,这里只是勾画)
非常感谢