【发布时间】:2011-12-19 19:05:48
【问题描述】:
我理解 rails 3.1 资产管道背后的原因:我们将所有 JS 编译到一个整洁的、可缓存的文件中以提高性能。太好了,我们想要那个。
但是,加载所有内容也意味着我们必须非常小心,不要在多个页面上使用某个 ID 或类,如果我们附加了一些 JS。否则,JS 将在两个页面上触发,因为它总是加载。
现在,我们要实现以下目标:
* 我们希望将所有内容保存在一个 JS 文件中(我们知道如何单独加载文件,只是不希望这样)
* 我们希望在每个 controller_name.js 中为 JS 命名空间,因此仅在初始化适当的命名空间时才加载它
* 我们想通过从布局的<body> 标记上的数据属性读取当前控制器来初始化适当的命名空间
问题是:我们不知道如何在 JS 中实现。特别是,我们应该如何命名JS,然后根据HTML标签的内容动态初始化它..
非常感谢任何帮助!
【问题讨论】:
-
这是一篇博客文章,有几种不同的方法house9.blogspot.com/2011/05/rails-31-javascript-execution.html