гем attr_encrypted должен указывать iv - Ruby on Rails

Я пытаюсь зашифровать два столбца в моей модели User в Ruby on Rails. Я уже успешно зашифровал 6 других столбцов в другой таблице, но на этот раз я получаю сообщение об ошибке must specify an iv только в таблице User.

Я использую devise gem для аутентификации.

Вот моя исходная миграция для добавления столбцов:

class AddPushNotificationColumnsToUser < ActiveRecord::Migration[5.1]
  def change
    add_column :users, :endpoint, :string
    add_column :users, :expiration_time, :string
    add_column :users, :encrypted_p256dh, :string
    add_column :users, :encrypted_auth, :string

    add_column :users, :encrypted_p256dh_iv, :string
    add_column :users, :encrypted_auth_iv, :string
  end
end

Моя модель:

attr_encrypted :p256dh, key: Rails.application.secrets.db_encryption_key
attr_encrypted :auth, key: Rails.application.secrets.db_encryption_key

Когда я звоню User.first.p256dh или User.first.auth, я получаю сообщение об ошибке: must specify an iv

Любая помощь будет оценена по достоинству.


person Cannon Moyer    schedule 19.07.2018    source источник
comment
Какую версию attr_encrypted вы используете? Похоже, что с более новыми версиями могут быть некоторые проблемы - github.com/attr-encrypted/ attr_encrypted/issues/306   -  person supremebeing7    schedule 19.07.2018
comment
Использование версии 3.1 с проблемами. Я собираюсь понизить рейтинг и попробовать еще раз.   -  person Cannon Moyer    schedule 19.07.2018
comment
@supremebeing7 Я пробовал понизить версию, но все равно получаю ту же ошибку.   -  person Cannon Moyer    schedule 19.07.2018
comment
Возможно, вы захотите посмотреть мой ответ здесь   -  person Peter Bloom    schedule 20.09.2018