У меня есть модель 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
и ломает вещи.
Есть ли лучший способ сделать это?