Mam attr_encrypted pracując z Mongo i Mongoid. Wystarczy kilka poprawek.
Upewnij się, że wszystkie pola crypto_, które są automatycznie tworzone przez attr_encrypted, są jawnie tworzone w modelu. Na przykład, jeśli masz:
attr_encrypted :email, :key => 'blah blah blah', :encode => true
musisz mieć:
Pole field :email, :type => String
field :encrypted_email, :type => String
Zauważ również, że musisz powiedzieć mu, aby zakodował zaszyfrowany ciąg, w przeciwnym razie Mongo będzie głośno narzekać.
Na koniec, jeśli szyfrujesz skrót, zrób to:
field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true