Tôi đã nhận được attr_encrypted làm việc với Mongo và Mongoid. Chỉ cần một vài chỉnh sửa.
Đảm bảo rằng tất cả các trường được mã hóa được tạo tự động bởi attr_encrypted đều được tạo rõ ràng trong mô hình. Ví dụ:nếu bạn có:
attr_encrypted :email, :key => 'blah blah blah', :encode => true
bạn cần có:
field :email, :type => String
field :encrypted_email, :type => String
Cũng lưu ý rằng bạn cần yêu cầu nó mã hóa chuỗi được mã hóa nếu không Mongo sẽ phàn nàn rất lớn.
Cuối cùng, nếu bạn đang mã hóa một hàm băm, hãy làm như sau:
Trường field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true