В рельсах, если я позвоню "</script>".to_json
, результат будет "\"</script>\""
. Ни угловые скобки, ни передние косые черты не исключаются. Есть ли способ заставить to_json избежать этого?
Этот маленький фрагмент кода демонстрирует проблему:
<%= javascript_tag do %>
var a = <%= raw("</script>".to_json) %>;
alert("hi");
<% end %>
Это дает следующий вывод:
<script type="text/javascript">
//<![CDATA[
var a = "</script>";
alert("hi");
//]]>
</script>
В этом случае тег сценария закрывается преждевременно. У кого-нибудь есть хорошее решение?