5

このライブラリ ( 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

4

1 に答える 1