gpt4 book ai didi

javascript - 如何处理 Rails to_json 输出中的 HTML 实体?

转载 作者:数据小太阳 更新时间:2023-10-29 04:30:17 27 4
gpt4 key购买 nike

我正在编写一个在后端使用 Rails 并在前端使用 javascript/backbone 的应用程序。我正在尝试 bootstrap some rails models into my javascript .具体来说,我想将 @courses 的内容加载到一个名为 window.courses 的 js 变量中。我在 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 entities .

<script type="text/javascript">
//<![CDATA[
window.courses = JSON.parse('[{&quot;code&quot;:&quot;myCourseCode&quot;, ...
//]]>
</script>

显然,当我尝试解析它时遇到 javascript 错误。

有谁知道如何处理这些 HTML 实体以生成有效的 javascript?我意识到一种选择是 unescape the entities on the client side ,但这似乎是一个迂回的解决方案。有没有一种方法可以让 Rails 生成不需要转义的 JSON?

最佳答案

如果您打算使用 raw(obj.to_json),您必须确保设置了以下内容。

ActiveSupport.escape_html_entities_in_json = true 

关于javascript - 如何处理 Rails to_json 输出中的 HTML 实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788079/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com