Получих 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
Също така забележете, че трябва да му кажете да кодира шифрования низ, в противен случай Mongo ще се оплаква силно.
И накрая, ако шифровате хеш, направете следното:
field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true