Rails 4 - Powiadomienia tostera zamiast powiadomień flash
Korzystam z tej biblioteki (https://github.com/CodeSeven/toastr) i próbuję przesłać moje powiadomienia Flash do funkcji javascript udostępnionej przez Toastr. Jak wywołać tę funkcję dla każdego błędu lub powiadomienia?
Jest to jedna z metod stosowanych do powiadamiania tostera:
toastr.warning('This is a warning!')
Próbowałem zrobić metodę w ApplicationController, aby sprawdzić, czy mogę wywołać tę metodę na błędy domyślne z CanCan. Mam różne wersje metody, z których żadna nie działała.
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
A następnie próbuję użyć tej metody w bloku CanCan:
rescue_from CanCan::AccessDenied do |exception|
toast :error, exception.message
redirect_to root_url
end
Zakładam, że jest to możliwe, ale nie jestem pewien, jak go wdrożyć. Niewielu próbuje to zrobić, i prawdopodobnie jest powód. Jestem otwarty na wszelkie sugestie, jak robić to, co próbuję zrobić.
Oto aplikacja testowa, która implementuje powiadomienia Toast:http://codeseven.github.io/toastr/demo.html