我有一个模型User
,当我创建一个模型时,我想务实地设置一些 API 密钥,而不是什么,特别是:
@user.apikey = Digest::MD5.hexdigest(BCrypt::Password.create("jibberish").to_s)
我希望能够运行User.create!(:email=>"something@test.com")
并让它创建一个具有随机生成的 API 密钥和秘密的用户。
我目前正在控制器中执行此操作,但是当我尝试将默认用户添加到seeds.rb
文件时,我收到 SQL 错误(说我的 apikey 为空)。
我尝试覆盖save
定义,但是当我更新模型时这似乎会导致问题,因为它会覆盖这些值。我尝试覆盖initialize
定义,但那是返回 anil:NilClass
并破坏事物。
有一个更好的方法吗?