このライブラリ ( https://github.com/CodeSeven/toastr ) を使用しており、Flash 通知を Toastr が提供する JavaScript 関数にプッシュしようとしています。すべてのエラーまたは通知に対してこの関数を呼び出すにはどうすればよいですか?
これは、トースター通知を作成するために使用されるメソッドの 1 つです。
toastr.warning('This is a warning!')
CanCan からのデフォルト エラーでそのメソッドを呼び出せるかどうかを確認するために、ApplicationController でメソッドを作成してみました。メソッドのさまざまなバージョンがありますが、どれも機能しませんでした。
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