2017-10-18 45 views
-1

代碼方面:符號傳遞給「養」

module Devise 
    module Strategies 
    class AuthxAuthenticatable < Authenticatable 
     def valid? 
     !params[scope].nil? 
     end 

     def authenticate! 
     resource = mapping.to.authenticate_with_credentials(params[scope]) 
     return fail(:invalid) if resource.nil? 
     success!(resource) if validate(resource) 
     end 
    end 
    end 
end 

Warden::Strategies.add(:authx_authenticatable, Devise::Strategies::AuthxAuthenticatable) 

遇到了一些代碼,其中一個符號傳遞給raise傳來:

raise(:invalid) 

看起來不像有任何猴子補丁raise來處理符號參數。似乎使用了fail,如果我使用fail,代碼實際上可以工作。

這不只是爲raise的別名?這在任何情況下都有意義嗎?

+0

呀應該拋出'TypeError'與任一'fail'或'raise'。你能給更多的上下文嗎?玩任何寶石? – hoffm

+0

謝謝@hoffm。而且是啊,這就是我在想,上面貼一些額外的代碼,實際上它只是一個自定義的策略制定 – Drew

+0

@hoffm看起來像遺贈是使用語法在它的一些代碼,以及 – Drew

回答