ruby-on-rails – 在rails模型中的before_create

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...