上下文代码:
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 :(得分:0)
看起来使用的window: undefined,
document: undefined,
方法是看守方法:
http://www.rubydoc.info/github/hassox/warden/Warden%2FStrategies%2FBase:fail