繁体   English   中英

如何取消转义并删除“ 从Rails提供的数据到javascript

[英]How can I unescape and remove quot; from data served by rails into javascript

这个问题已经在stackoverflow上问过几次了,但是我还没有找到一种方法来从我试图提供的rails实例变量中转义双引号,以便我的highcharts在各自的js.erb使用。文件。

这是我的代码:

class FooController < ApplicationController
  def foo
    @foo_bar = @foo.map { |f| f.version }
  end
end

@foo_bar实例变量应返回["1.2.3","3.0","4.5"] 取而代之的是,我一直得到这个[&quot;1.2.3&quot;, &quot;3.0quot;,quot;4.5quot] 而且我似乎无法删除它。 我尝试使用Rail的escape_javascript方法,但仍然无法正常工作。 我已经尝试过JSON.parse(instance_variable) ,但也不起作用。 最后,我尝试用.gsub将引号引起来并用\\"手动替换它们,但这也行不通。为什么双引号不能逃脱,如何从根本上解决这个问题呢?解决服务器端和客户端这两个问题,但无济于事,还有人提出建议吗?

您要内联被视为HTML“不安全”的数据,因此必须在模板中将其声明为安全。

<%= @foo_bar.to_json.html_safe %>

请注意,当您将某些内容声明为“安全”时,这表示您有信心不会因为使用其他转义方法而遭受XSS攻击。 在您的情况下,请确保您发出了正确转义的JavaScript或JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM