如何在Rails 3.1中为CoffeeScript使用选项"--bare"?

Edi*_*ado 13 ruby-on-rails coffeescript

有人知道如何在Rails 3.1中使用此选项?现在CoffeScript .call(this)在每个文件上放置一个函数,但我想删除它.

编辑:" 无法找到变量"错误与Rails 3.1和Coffeescript "和" 模式为CoffeeScript模块 "有我想要的.我将改变我的全局变量以使用@global范围.

Tre*_*ham 20

我建议不要这样做.由于某些原因,请参阅Pattern for CoffeeScript模块的答案.("使你的CoffeeScript代码与开箱即用的Rails 3.1不兼容"是另一个原因.)最好只使用

window.a = b
Run Code Online (Sandbox Code Playgroud)

甚至

@a = b
Run Code Online (Sandbox Code Playgroud)

而不是a = b在您尝试将某些内容导出到全局范围时.

在以前版本的Rails 3.1中,bare已启用编译.这被归类为错误,并在RC1中修复.

因此,虽然我强烈建议您不要这样做,但这里是如何重新打开裸编译:添加

Tilt::CoffeeScriptTemplate.default_bare = true
Run Code Online (Sandbox Code Playgroud)

到你的environment.rb.