プロジェクトのリンクをクリックすると、アセットの追加パッケージが取得されます。クリックごとに +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を削除しました)の後、問題はレールキャッシングにあるようです。クリックするたびに、ブラウザーがアセットの新しいパッケージをダウンロードするように強制されるためです。
============
私の問題はターボリンクの宝石にあることがわかりました。毎回アセットをキャッシュしてから、アセットの新しいパッケージをダウンロードします。しかし、どうすればこれを修正できますか?