При сбое стратегии аутентификации в Warden сообщение может быть передано методу fail!
. Как я могу получить доступ к этому сообщению в моем действии приложения с ошибкой по умолчанию, чтобы я мог отобразить его во флэш-сообщении? Я пробовал request.env['warden'].message
, но после просмотра кода для Warden::Proxy
эта переменная устанавливается только для выигрышных стратегий. Мысли?
Rack Warden: как я могу получить доступ к сообщению, переданному фейлу! метод?
Ответы (2)
Возможно, другой способ неудачных стратегий (из недавней документации) — использовать throw(:warden, :foo => 'bar')
. Все, что вы выбрасываете, будет доступно в вашем неудачном приложении через request.env['warden.options']
, включая строку желаемого URL-адреса. ХТН
person
stuartc
schedule
10.11.2012
При использовании ошибки или ошибки! методы, вы можете получить сообщение об ошибке от объекта смотрителя среды.
Пример:
def unauthenticated
flash[:alert] = env["warden"].message unless env["warden"].message.blank?
end
http://www.rubydoc.info/github/hassox/warden/Warden/Proxy#message-instance_method
person
Nathan
schedule
30.10.2014