2015-11-03 23 views
0

我想知道我需要將jQuery代碼寫入特定的控制器操作。例如,我有兩個控制器寵物和零食。只有Treats控制器的Index頁面需要警報。目前我已經將jquery代碼放在application.js中,並且我的所有頁面都在提醒警報。如何僅爲特定頁面添加jquery?

+0

您是如何使用警報的?在document.ready? –

+0

是的。我正在使用document.ready – Ann

回答

1

如果你不想默認包含一些腳本,(在你自己的情況下,對於黃柏索引頁面的腳本),請執行下列操作:

  • 您的JavaScript資源文件夾內創建一個新文件:app/assets/javascript/treats.js

  • 把你的腳本代碼裏面這裏

  • 進入您的application.js文件並刪除//= require_tree .線。 請注意,這會阻止您的其他js文件被加載,因此您將不得不單獨要求所有其他需要的腳本。

  • 進入視圖頁面,你想要一個腳本調用,(在你的情況下,對待index.html.erb),並使用腳本標籤來調用這個特定的文件(更準確地說,文件內的特定功能)。

通過這樣做,腳本將不會在你的整個應用程序中使用,但將只提供你想要它,這就是你的說法。

+0

我實際上得到這個錯誤:'資產過濾掉,不會被服務:添加Rails.application.config.assets.precompile + =%w(sayhi.js)配置/初始化/資產。 rb並重新啓動服務器。我按照你所說的顯示頁面而不是索引來做。 – Ann

+1

[檢查出來](http://stackoverflow.com/questions/22970573/asset-filtered-out-and-will-not-be-served-add-config-assets-precompile) –

+0

謝謝。解決了。將這個'Rails.application.config.assets.precompile + =%w(sayhi.js)'移到config/initializers/assets.rb – Ann

相關問題