ruby-on-rails - 在 rails 模型中创建 before_create

标签 ruby-on-rails

我有一个 rails 模型 Username , emailhash领域。

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

@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

关于ruby-on-rails - 在 rails 模型中创建 before_create,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3393143/

相关文章:

ruby-on-rails - 预编译 SCSS : variable is undefined (Rails 4)

ruby-on-rails - Rails 无法修改卡住的字符串

ruby-on-rails - 乘客使用比预期更多的 PostgreSQL 连接

ruby-on-rails - friendly_id slug 在更新时没有改变

mysql - 为什么使用 PostgreSQL 和 MySQL 时 Rails 上的整数大小限制不同?

ruby-on-rails - 用于捕获冒号分隔的键值对的正则表达式,具有多行值

ruby-on-rails - 如何使用 puma/nginx 在/public 中提供不属于 Assets 管道的 Assets ?

ruby-on-rails - 首字母缩略词不会正确复数导致循环依赖

javascript - mustache 在服务器(rails)和客户端(javascript)上呈现

javascript - Rails App 中的 JS 仅在第一次加载