2014-02-09 45 views
0

我想在创建/更新之前计算每个项目的@rating。 这里是我的模型:Rails before_save不起作用

class SmsController < ApplicationController 
    before_save :calculate_rating 
    def new 
    end 

    def create 
    end 

    def show 
    end 

    def destroy 
    end 

    private 
    def calculate_rating 
     self.rating=self.happy-self.sad+(3*self.report) 
    end 
end 

,但是当我加入一些随机种子到DB评级属性对所有的人都为零。 我做错了什么?提前致谢!

回答

2

before_save回调是Rails中ActiveRecord模块(对于模型)的一部分。 ActiveRecord::Callbacks

所以,你before_save指令和方法会去在SMS模型相对于SmsController

+0

谢谢!我的第一个轨道应用程序... :) –

+0

随时...并有乐趣:)! Rails很棒 –