coffeescript & Rails 资产管道的 JSON 错误



我使用Rails 3.2.14没有问题。。。

我最近将application.js重命名为application.js.coffee,现在收到一个JSON错误。

JSON::GeneratorError
only generation of JSON objects or arrays allowed
  (in /.../app/assets/javascripts/application.js.coffee)

即使我删除了application.js.coffee的所有内容,我仍然会收到错误。

当我尝试直接查看它(http://localhost:3000/assets/application.js)时,它是相同的问题:

throw Error("JSON::GeneratorError: only generation of JSON objects or arrays allowedn  (in /.../app/assets/javascripts/application.js.coffee)")

我已经仔细检查了我的应用程序是否有任何潜在的问题,但一切看起来都很标准。

我也遇到过类似的问题(Rails 4资产管道抛出"只允许生成JSON对象或数组"),这与application.js无关。multi_JSON gem从1.7.8更新到1.7.9,破坏了我的应用程序。对cofeescript文件的任何更改都会导致"只允许生成JSON对象或数组"的错误。

我明确地将multi_json gem放在我的Gemfile中,修复到1.7.8版本。中为我解决了问题。

我的保存问题不是在Rails项目中,而是在使用链轮的ruby项目中。我还没有最终确定问题,但它似乎与execjs和所使用的Javascript运行时有关。

你可以尝试添加

gem 'therubyracer'

到您的Gemfile。这安装了v8引擎,为我解决了这个问题。

最新更新