0

我想在创建/更新之前计算每个项目的@rating。这是我的模型:

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

但是当我向数据库添加一些随机种子时,它们的评级属性都是零。难道我做错了什么?提前致谢!

4

1 回答 1

2

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

因此,您的 before_save 指令和方法将进入 Sms 模型而不是 SmsController

于 2014-02-09T19:58:58.393 回答