1

プロジェクトのリンクをクリックすると、アセットの追加パッケージが取得されます。クリックごとに +1 アセットの追加パッケージが得られます。10 回のクリック = アセットの 10 個のコピー。(10 個の画像、10 個の css ファイル、1 個の代わりに 10 個の js ファイル)。私のjqueryイベントはすべて10回トリガーされました。どこで解決策を探すべきかさえわかりません。どんな助けにも感謝します。

私のapp.js

    //= require jquery
    //= require jquery_ujs

    //= require foundation

    //= require turbolinks
    //= require jquery.easing.1.3.js
    //= require_tree .

    $(function(){
        $(document).foundation();
    });


    $(document).ready(function () {
        var $main_container = $("#main_container");
        var $menu_link = $('#menu-link');
        var $s_menu = $("#s-menu");

        $menu_link.click(function () {
            $main_container.animate({"margin-left": "-200px"}, 100);
            $s_menu.animate({"margin-right": "0"}, 100);
        });

        $(".container-fluid").on("click", function(){
            $main_container.animate({"margin-left": "0"}, 100);
            $s_menu.animate({"margin-right": "-200px"}, 100);
        });


        $('input[type="submit"]').focus(function(){
            $(this).blur();
        });

    });

============

いくつかの実験(プロジェクトからすべてのjsを削除しました)の後、問題はレールキャッシングにあるようです。クリックするたびに、ブラウザーがアセットの新しいパッケージをダウンロードするように強制されるためです。

============

私の問題はターボリンクの宝石にあることがわかりました。毎回アセットをキャッシュしてから、アセットの新しいパッケージをダウンロードします。しかし、どうすればこれを修正できますか?

4

1 に答える 1