我的Rails 3.1.rc4应用程序工作正常,但我正在试图找出将js文件存储在管道中的适当方法。如果我将任何代码放在application.js以外的文件中,我会收到以下错误:
在2011-07-21开始获取127.0.0.1的“/assets/application.js” 23:15:02 -0500编译 〜/ Dropbox的/ Rails的/ MyApp的/应用/资产/ JavaScript的/ application.js.coffee (224ms)(pid 69397)编译资产application.js时出错: ExecJS :: ProgramError:SyntaxError:第1行的保留字“function” (在 /Users/micahalcorn/Dropbox/Rails/myapp/app/assets/javascripts/users/registrations.js.coffee) 服务资产/application.js - 500内部服务器错误
无论文件中的第一个单词(registrations
,var
等)如何,都会发生这种情况,无论哪个文件(在这种情况下为function
)并声明“保留字”。我使用node.js作为我的运行时环境,如果我删除coffeescript编译gems并将其视为Rails 3.0应用程序,一切正常。我想更好地理解资产管道并遵循惯例。谢谢你的任何建议!
答案 0 :(得分:8)
错误
SyntaxError: Reserved word "function" on line 1
是CoffeeScript编译器错误。在function
中将->
转换为registrations.js.coffee
,或将其重命名为registrations.js
,以便将该文件作为原始JavaScript读取。