刚刚安装了 rails 3.1 rc1 并且正在尝试使用新的资产管道来探索管理 javascript 的最佳方式默认情况下,所有的 coffeescript 都被编译成一个 application.js 文件,这是一件好事。
每个单独的咖啡脚本文件都附加到 js 文件中并包装在一个匿名函数中,该函数通过 call 方法执行一个常见的场景是使用一些 jquery 将各种表单转换为 ajax 表单,更新 UI 等......
其中许多脚本将特定于控制器或动作,我正在尝试用“常规”方式来处理这个问题,因为一切都包装在一个匿名函数中,我如何只执行特定控制器/动作的代码,默认情况下,所有匿名函数都在执行
我确实玩过一些技巧,我将控制器和动作名称加载到js变量中,然后在coffeescript中检查它们以有条件地运行代码,我不太喜欢
我最初的想法是每个咖啡文件都包含一个 js 命名空间/对象,我会从视图中调用特定的文件,使用 default_bare = true 配置来增加它
请参阅如何在 Rails 3.1 中为 CoffeeScript 使用选项“--bare”?
编辑
环顾四周:这看起来可能是正确的方法 - Rails 3.1 和 Coffeescript 出现“找不到变量”错误