J'ai obtenu attr_encrypted en travaillant avec Mongo et Mongoid. Cela ne prend que quelques ajustements.
Assurez-vous que tous les champs cryptés_ qui sont automatiquement créés par attr_encrypted sont explicitement créés dans le modèle. Par exemple, si vous avez :
attr_encrypted :email, :key => 'blah blah blah', :encode => true
vous devez avoir :
Champ field :email, :type => String
field :encrypted_email, :type => String
Notez également que vous devez lui dire d'encoder la chaîne cryptée, sinon Mongo se plaindra bruyamment.
Enfin, si vous chiffrez un hachage, procédez comme suit :
Champ field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true