使用Rails 3.1,您在哪里放置“特定于页面”的JavaScript代码?
据我理解,所有JavaScript都合并到一个文件中。默认情况下,Rails在添加//= require_tree .
到你的底部application.js
清单文件。
这听起来像是一个真正的生命保护程序,但我有点担心特定于页面的JavaScript代码。这段代码会在每一页上执行吗?我最不希望的是,当每个页面只需要1页时,所有对象都被实例化。
另外,难道没有可能出现冲突的代码吗?
还是你放了一个小的script
标记位于页面底部,该标记只调用一个执行页面javascript代码的方法?
那么,您不再需要request.js了吗?
谢谢
编辑我很感激所有的答案.我认为他们并没有真正理解这个问题。其中有些是关于造型的,似乎不相关.其他人只是提到javascript_include_tag
..我知道这是存在的(很明显.)但是,Rails 3.1的前进方向似乎是将所有JavaScript封装到一个文件中,而不是在每个页面的底部加载单独的JavaScript。
我能想出的最好的解决方案是将某些特性封装起来。div
标签id
S或class
埃斯。在JavaScript代码中,只需检查id
或class
如果是,则运行与其关联的JavaScript代码。这样,如果动态元素不在页面上,JavaScript代码就不会运行-尽管它已经包含在大量的application.js
由链轮打包的文件。
我的上述解决方案的好处是,如果在100页中的8页包含一个搜索框,它将只在这8页上运行。您也不必在站点上的8个页面上包含相同的代码。事实上,你再也不用在你的网站上加入手动脚本标签了。
我认为这是我问题的实际答案。