バックエンドでRailsを使用し、フロントエンドでjavascript/backboneを使用するアプリを作成しています。いくつかのRailsモデルをJavaScriptにブートストラップしようとしています。@courses
具体的には、の内容をと呼ばれるjs変数にロードしたいと思いますwindow.courses
。私はhtml.erb
ファイルに次のものを持っています。
<%= javascript_tag do %>
window.courses = JSON.parse('<%= @courses.to_json %>');
<% end %>
erb
プリプロセッサがこれを有効なJavaScriptにレンダリングすることを期待しています。
<script type="text/javascript">
//<![CDATA[
window.courses = JSON.parse('[{"code":"myCourseCode", ...
//]]>
</script>
...しかし、代わりに、HTMLエンティティを含むコードを取得しています。
<script type="text/javascript">
//<![CDATA[
window.courses = JSON.parse('[{"code":"myCourseCode", ...
//]]>
</script>
明らかに、これを解析しようとするとjavascriptエラーが発生します。
有効なJavaScriptを生成するためにこれらのHTMLエンティティを処理する方法を知っている人はいますか?1つのオプションは、クライアント側のエンティティをエスケープ解除することだと思いますが、これは回りくどい解決策のようです。Railsにエスケープを解除する必要のないJSONを生成させる方法はありますか?