.js.erb文件中的JSON :: GeneratorError

时间:2012-10-30 15:23:50

标签: jquery ajax ruby-on-rails-3 ruby-on-rails-3.2 erb

我不明白我做错了什么..

我试图捕获未经授权的401并使用

在提交按钮之前插入带有消息的div
$(function() {
  return $("a").ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
    if (jqXHR.status === 401) {
      $(".submit").before(<%=j content_tag :div, "Does not compute" %> );
    }
  });
});

该文件的名称是home.js.erb

甚至在页面加载之前我得到了

JSON::GeneratorError in Pages#home

Showing H:/project/app/views/layouts/application.html.erb where line #6 raised:

only generation of JSON objects or arrays allowed
  (in H:/project/app/assets/javascripts/home.js.erb) 

#6行指的是

5:   <%= stylesheet_link_tag    "application.css", :media => "all" %>
6:   <%= javascript_include_tag "application" %>
显然有些事情是错的..但是什么?

2 个答案:

答案 0 :(得分:1)

通过删除j ..

来解决

我不明白......不应该这样做,所以我可以把它放在javascript中吗?

答案 1 :(得分:0)

那个时间可能是execjs的错误:

https://github.com/sstephenson/execjs/issues/129

只需更新您的execjs版本即可修复。