2011-08-03 10 views
10

estoy tratando de utilizar los carriles 3.1 autenticación utilizando MongoId en lugar de modelo activoMongoid y has_secure_password

class User 
    include Mongoid::Document 
    include ActiveModel::SecurePassword 
    has_secure_password 
    validates_presence_of :password, :on => :create 
    attr_accessor :email, :password, :password_confirmation 
    field :email, :type => String 
    field :password_digest, :type => String 
end 

el problema se password_digest no es reconocido por el bycrypt como en el ejemplo de modelo activa http://railscasts.com/episodes/270-authentication-in-rails-3-1

Gracias

Respuesta

3

Ponga

has_secure_password 

Después de

field :password_digest, :type => String 
+7

Ésta no es la respuesta correcta. Debe incluir ActiveModel :: SecurePassword como señala Adam a continuación. –

32

Para cualquiera que esté interesado, el requisito más mínimo para el uso con has_secure_password Mongoid es simplemente la inclusión de ActiveModel::SecurePassword en el modelo.

class User 
    include Mongoid::Document 
    include ActiveModel::SecurePassword 

    field :username 
    field :password_digest 

    has_secure_password 
end 

Article