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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在rails模型中的before_create前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个rails模型User,它有名字,电子邮件和哈希字段.

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

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

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

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

我的用户模型将如何?

  1. class Employee < ActiveRecord::Base
  2. before_create :set_hash
  3.  
  4. def set_hash
  5. //what goes in here?
  6. end
  7. end

解决方法

您可以使用self关键字访问(和更改)当前模型的实例变量.
  1. def set_hash
  2. self.email = Digest::SHA1.hexdigest('something secret' + self.email)
  3. end

猜你在找的Ruby相关文章