Ich habe attr_encrypted dazu gebracht, mit Mongo und Mongoid zu arbeiten. Es sind nur wenige Anpassungen erforderlich.
Stellen Sie sicher, dass alle verschlüsselten_ Felder, die automatisch von attr_encrypted erstellt werden, explizit im Modell erstellt werden. Wenn Sie beispielsweise Folgendes haben:
attr_encrypted :email, :key => 'blah blah blah', :encode => true
Sie müssen Folgendes haben:
field :email, :type => String
field :encrypted_email, :type => String
Beachten Sie auch, dass Sie ihm sagen müssen, dass er die verschlüsselte Zeichenfolge kodieren soll, sonst wird sich Mongo lautstark beschweren.
Wenn Sie zuletzt einen Hash verschlüsseln, tun Sie dies:
field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true