2011-05-08 176 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")