before_create in rails model

时间:2010-08-03 02:05:42

标签: ruby-on-rails

我的导轨模型User包含nameemailhash字段。

我通过执行以下操作将数据保存到此:

@u = User.create(:name=>'test', :email=>"test@mail.com")
@u.save

如何合并before_create回调,以便在保存记录之前,哈希值通过以下代码获取哈希字符串:

Digest::SHA1.hexdigest('something secret' + email)

我的User模型将如何显示?

class Employee < ActiveRecord::Base
   before_create :set_hash

   def set_hash 
      //what goes in here?
   end
end

1 个答案:

答案 0 :(得分:8)

您可以使用self关键字访问(和更改)当前模型的实例变量。

def set_hash
  self.email = Digest::SHA1.hexdigest('something secret' + self.email)
end