JavaScript中的Ruby变量会引发语法错误

时间:2014-09-12 23:06:13

标签: ruby-on-rails ruby

我有一个初始化此变量的Rails控制器操作:

@print_url = new_batch_batch_content_template_path(@batch, @content_template)

我尝试在ERB模板中访问它,因为“Using Ruby variable in Javascript (In App View)”说我可以这样做,所以我尝试了:

<script type="text/javascript" charset="utf-8">
  var url = <%= @print_url  %>;
</script>

然而,Chrome的控制台给了我这个错误:

Uncaught SyntaxError: Invalid flags supplied to RegExp constructor '13'

正如您所看到的,它被JavaScript解释为正则表达式,因为它不被计算为字符串。为什么Ruby不将它作为字符串进行评估?我不明白为什么其他链接中的示例有效,但为什么我的没有。

1 个答案:

答案 0 :(得分:1)

您需要在值周围使用引号:

<script type="text/javascript" charset="utf-8">
  var url = '<%= @print_url  %>';
</script>