2011-05-08 178 views

回答

2

设计允许这种经由token_authenticable一个道理,我还没有找到一个宝石然而,做这个,所以我的模型通常是这样的:

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :confirmable 
    before_save :ensure_authentication_token 
    before_save :create_secret_token 

    # Setup accessible (or protected) attributes for your model 
    attr_accessible :email, :password, :password_confirmation, :remember_me 


    private 

    def create_secret_token 
    self.secret_token = ActiveSupport::SecureRandom.base64(20).tr('+/=', '-_ ').strip.delete("\n") unless self.secret_token 
    end 
end 

的secret_token发电机线确保+/=字符替换,然后删除空白。使用RESTful API时,“+/=”字符可能难以处理:

ActiveSupport::SecureRandom.base64(20).tr('+/=', '-_ ').strip.delete("\n")