在js.erb文件中提供给RegExp构造函数的无效标志

时间:2015-03-03 00:00:54

标签: javascript jquery ruby-on-rails erb

我尝试在使用jQuery时将img(s)的src属性更改。但我收到一条错误,Uncaught SyntaxError: Invalid flags supplied to RegExp constructor 'icon_history'

app.js.erb

 var hover = <%= image_path 'icon_history-h1' %>;

  var unhover = <%= image_path 'icon_history' %>;

  $('img.more').hover(function(){
    console.log(hover);
    $(this).attr('src', hover);
  },
  function(){
    console.log(unhover);
    $(this).attr('src', unhover);
  });

2 个答案:

答案 0 :(得分:1)

你应该转义字符串并将它们引用到引号:

var hover = '<%= j image_path 'icon_history-h1' %>';

var unhover = '<%= j image_path 'icon_history' %>';

答案 1 :(得分:1)

不确定是否是你的情况,但我有类似的问题:

  

SyntaxError:提供给RegExp构造函数'u'

的无效标志

我只是通过更新我的Ubuntu服务器中的Node.js来修复它。 以前的版本是:

$ node -v
v5.1.1

然后我做了:

$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
   ... long output
$ sudo apt-get install -y nodejs
   ... shorter output
$ node -v
v6.7.0

没有更多问题。