gpt4 book ai didi

ruby-on-rails - 如何在 ruby​​ 模型中设置默认属性

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:44 25 4
gpt4 key购买 nike

我有一个模型 User,当我创建一个模型时,我想实用地设置一些 API key ,具体来说:
@user.apikey = Digest::MD5.hexdigest(BCrypt::Password.create("jibberish").to_s)

我希望能够运行 User.create!(:email=>"something@test.com") 并让它使用随机生成的 API key 和 secret 创建用户。

我目前正在 Controller 中执行此操作,但是当我尝试将默认用户添加到 seeds.rb 文件时,出现 SQL 错误(说我的 apikey 为空)。

我尝试覆盖 save 定义,但是当我更新模型时这似乎会导致问题,因为它会覆盖值。我尝试覆盖 initialize 定义,但它返回了一个 nil:NilClass 并破坏了一些东西。

有更好的方法吗?

最佳答案

使用回调和 ||=(= 除非对象不是 nil):)

class User < ActiveRecord::Base
before_create :add_apikey #or before_save

private
def add_apikey
self.apikey ||= Digest::MD5.hexdigest(BCrypt::Password.create(self.password).to_s)
end
end

但你绝对应该看看 devise , authlogicclearance gem

关于ruby-on-rails - 如何在 ruby​​ 模型中设置默认属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2889841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com