Při práci s Mongo a Mongoidem jsem získal attr_encrypted. Vyžaduje to jen několik úprav.
Ujistěte se, že všechna pole encrypted_, která jsou automaticky vytvořena pomocí attr_encrypted, jsou explicitně vytvořena v modelu. Pokud například máte:
attr_encrypted :email, :key => 'blah blah blah', :encode => true
musíte mít:
field :email, :type => String
field :encrypted_email, :type => String
Všimněte si také, že mu musíte říct, aby zakódoval zašifrovaný řetězec, jinak si Mongo bude hlasitě stěžovat.
A konečně, pokud šifrujete hash, udělejte toto:
field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true