Я получил attr_encrypted, работая с Mongo и Mongoid. Требуется всего несколько настроек.
Убедитесь, что все поля encrypted_, которые автоматически создаются attr_encrypted, явно созданы в модели. Например, если у вас есть:
attr_encrypted :email, :key => 'blah blah blah', :encode => true
вам необходимо иметь:
field :email, :type => String
field :encrypted_email, :type => String
Также обратите внимание, что вы должны указать ему кодировать зашифрованную строку, иначе Монго будет громко жаловаться.
Наконец, если вы шифруете хеш, сделайте следующее:
field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true