我有一个rails模型User,它有名字,电子邮件和哈希字段.
通过执行以下操作将数据保存到此:
- @u = User.create(:name=>'test',:email=>"test@mail.com")
- @u.save
如何合并before_create回调,以便在保存记录之前,哈希值通过以下代码获取哈希字符串:
- Digest::SHA1.hexdigest('something secret' + email)
我的用户模型将如何?
- 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