Jag har blivit attr_encrypted när jag arbetar med Mongo och Mongoid. Det tar bara några få justeringar.
Se till att alla krypterade_ fält som skapas automatiskt av attr_encrypted är explicit skapade i modellen. Om du till exempel har:
attr_encrypted :email, :key => 'blah blah blah', :encode => true
du måste ha:
field :email, :type => String
field :encrypted_email, :type => String
Observera också att du måste säga åt den att koda den krypterade strängen, annars kommer Mongo att klaga högt.
Slutligen, om du krypterar en hash, gör du så här:
field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true