在rails模型中before_create

我有一个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 

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

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