我不喜欢在我不明白为什么有效的情况下。我觉得我正在使用垃圾袋和橡皮筋来固定漏水管道。自从升级到rails3.1以来,除非我将'execjs'和'therubyracer'添加到gemfile中,否则我无法使用它。我不明白这些宝石甚至做了什么。我刚刚读了stackoverflow上的某个地方你必须添加它们才能使应用程序正常工作。谁知道这些宝石是为了什么?
答案 0 :(得分:19)
ExecJs - 让您能够执行Javascript
RubyRacer - 为您提供从Ruby到V8引擎的接口。
两者都是coffee-script
gem的依赖项,Rails 3.1和资产管道使用它。
答案 1 :(得分:5)
ExecJS支持这些运行时:
therubyracer - 嵌入Ruby的Google V8
therubyrhino - 嵌入JRuby的Mozilla Rhino
Node.js的
Apple JavaScriptCore - 包含在Mac OS X中
Microsoft Windows脚本宿主(JScript)
不需要使用therubyracer,您可以使用任何js运行时,例如我使用Node.js。