Chr*_*len 0 ruby activerecord ruby-on-rails ruby-on-rails-3
我正致力于在rails中创建游戏,我遇到了创建评分逻辑的问题.
我有一个名为Score的模型,它属于一个用户,并有total_points作为属性.
因此,每次用户创建帖子(或其他)时,我都会自动调整用户的total_score属性.
我有一种感觉,我可以在得分模型中的某处创建一个方法,但之前没有这样做,所以我有点困惑.
这是ActiveRecord回调的好用例.
#post.rb
belongs_to :score
after_create :update_total_score
protected
def update_total_score
score.update_attribute :total_score, score.total_score + new_score_value
end
Run Code Online (Sandbox Code Playgroud)
注意:如果帖子是可更新的,那么你会想要使用after_save,但我的猜测是after_create就是你要找的东西
祝好运!
| 归档时间: |
|
| 查看次数: |
558 次 |
| 最近记录: |