我有一个初始化此变量的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不将它作为字符串进行评估?我不明白为什么其他链接中的示例有效,但为什么我的没有。
答案 0 :(得分:1)
您需要在值周围使用引号:
<script type="text/javascript" charset="utf-8">
var url = '<%= @print_url %>';
</script>