我有一个模型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并破坏事物。
有一个更好的方法吗?