Rails 4 - тостер-уведомления, а не флеш-уведомления
Я использую эту библиотеку, (https://github.com/CodeSeven/toastr) и я пытаюсь отправить свои Flash-уведомления в функцию javascript, предоставленную мне Toastr. Как мне вызвать эту функцию для каждой ошибки или уведомления?
Это один из методов, которые используются для уведомления тостера:
toastr.warning('This is a warning!')
Я попытался создать метод в ApplicationController, чтобы посмотреть, смогу ли я вызвать этот метод при ошибках по умолчанию из CanCan. У меня есть различные версии метода, ни одна из которых не работала.
def toast(type, text)
#if Logic here for various errors/notifications
respond_to do |format|
format.js { render action: "toastr.warning(#{text})", layout: false}
end
end
def toast(type, text)
#if Logic here for various errors/notifications
"toastr.warning(#{text})"
end
И тогда я пытаюсь использовать этот метод в блоке CanCan:
rescue_from CanCan::AccessDenied do |exception|
toast :error, exception.message
redirect_to root_url
end
Я бы предположил, что это возможно, но я просто не уверен, как это реализовать. Не многие пытаются это сделать, и, вероятно, есть причина. Я открыт для любых предложений о том, как сделать то, что я пытаюсь сделать.
Вот тестовое приложение, которое реализует уведомления Toast:http://codeseven.github.io/toastr/demo.html