0
我有一個初始化這個變量Rails控制器動作:Ruby的變量拋出語法錯誤
@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不會將它評估爲字符串?我不明白爲什麼在其他鏈接的例子工作,但爲什麼我不這樣做。
_「爲什麼不是紅寶石評價這是一個字符串?」 _ - 錯誤的情況下是不是紅寶石,它的JavaScript。我們又如何在JS中編寫文本文字......? – CBroe 2014-09-12 23:08:47
@Croro你是對的,但在那個時候,我期待這個值已經被解析爲字符串,然後用javascript呈現。 – Donato 2014-09-13 01:37:32
是否將ruby解析爲字符串在這裏並不重要 - JavaScript是將值引入此處的上下文,因此您必須根據該上下文的語法規則對待它。 – CBroe 2014-09-13 01:52:23