使用Rails 3+和資產管道我的理解是,在所有資產/ JavaScript的JavaScript文件都會自動包括在內,如果指定編譯成一個js文件Rails的控制器方面的最佳實踐/查看特定的JavaScript
require_tree .
application.js中的
。
關於處理特定於控制器/視圖的javascript的最佳實踐是什麼?例如,假設我有一個控制器/視圖「房屋」,我要驗證的房屋形式使用jQuery形式驗證插件,這樣做,我已經放置在下面的代碼在我houses.js文件
$(document).ready(function(){
$("#new_house_form").validate();
});
其是好的,但問題是,當我訪問另一個頁面(說/所有者)時,它會嘗試驗證房屋形式,並在javascript控制檯中收到錯誤消息。當然,我可以檢查表單是否存在於當前頁面上,然後調用驗證程序,但是對於我來說似乎有點不清楚,尤其是在.ready中有很多控制器特定的代碼。
我的解決方案來解決這個已經創建一個文件夾資產/ Java腳本/全局和application.js中
require_tree ./global //instead of require_tree .
,並將所有其他js文件,除了在它houses.js。然後我手動包含houses.js,無論用戶訪問/房屋/新房還是/房屋/編輯
這種做法是否可以接受?如果不是什麼被認爲是處理這些情況的最佳做法?
的最佳解決方案:http://stackoverflow.com/questions/7312465/how-to-display-controller-specific-javascript-in-rails-3-1 – agmin