【发布时间】:2010-05-22 21:35:52
【问题描述】:
我有一个模型 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 定义,但这会返回 nil:NilClass 并破坏事物。
有没有更好的方法来做到这一点?
【问题讨论】:
标签: ruby-on-rails ruby rails-models