【问题标题】:Use ruby array for a javascript array in erb. Escaping quotes将 ruby​​ 数组用于 erb 中的 javascript 数组。转义引号
【发布时间】:2011-11-25 13:28:21
【问题描述】:

我在网上为此找到了很多东西,但它们对我不起作用。我错过了什么吗?

在我的控制器中,我有

@t = ["a","b","c"]

在“回调”的 erb 文件中,@t 呈现如下:

["a", "b", "c"] 

我已经完成了将 " 替换为正确的 ' 符号的技巧。我读过 to_json 应该可以工作,但它不起作用。以下内容不起作用["a","b","c"].to_json。结果是一样的。

【问题讨论】:

  • 您希望看到什么?老实说,这对我来说看起来很不错......
  • 您希望看到渲染的究竟是什么?

标签: ruby erb


【解决方案1】:

to_json 工作正常。您遇到的是 Rails 3.x 的 XSS 保护。在Railscasts/ASCIIcasts 上有一篇很好的文章。不过,要点是您需要使用 rawhtml_safe 方法:

在您的控制器中:

@t_json = @t.to_json.html_safe

或者在你看来:

<%= raw @t %>

【讨论】:

  • 我收到关于 html_safe 获取 json 的类型错误,但需要数据。 raw 虽然对我有用。谢谢!
猜你喜欢
  • 2015-09-22
  • 1970-01-01
  • 1970-01-01
  • 2013-12-01
  • 2018-12-29
  • 1970-01-01
  • 2013-03-30
  • 2012-02-03
相关资源
最近更新 更多