我使用this tutorial在我的Rails應用程序中加載頁面特定的JavaScript。我的文件結構如下所示:只有document.ready代碼在Rails頁面重新加載時運行
app/assets/javascripts/
├── application.js
├── charts.coffee
├── dashboard
│ └── settings.js
├── dashboard-bundle.js
└── static_pages.coffee
我預編譯我的資產config.assets.precompile += %w(*-bundle.js)
和文件dashboard-bundle.js
只是由線路//= require_tree ./dashboard/
。然後,在我想要加載JavaScript的頁面上,我加入了包含= javascript_include_tag 'dashboard-bundle'
的JavaScript。
這裏是長什麼樣我settings.js
文件的一部分,就像一個樣本:
$(document).ready(function(){
alert('Page and Javascript loaded!');
});
$('#renderChart1').click(function() {
alert('You want to edit options for chart1!');
});
當我第一次從另一個頁面加載頁面,都提醒出現在適當的時間;第一次在頁面加載,第二次當我點擊#renderChart1
按鈕。
但是,當我重新加載頁面而不先轉到其他頁面時,只有第一個警報正常工作。點擊按鈕時,警報不會出現。
我已經試過安裝jQuery Turbolinks但這並沒有解決問題。