【发布时间】:2017-09-01 19:45:08
【问题描述】:
我的 Ruby on Rails 应用程序中有一个 JavaScript sn-p,它与远程服务器通信并向其传递一个 JSON,该 JSON 由包含 SKU、价格等内容的字典数组组成。
在 Ruby 中生成很简单:
@items = @order.line_items.map do |item|
{
sku: item.variant.sku,
price: item.variant.price
quantity: item.quantity
currency: current_user.currency
}
end
但是,当我在 JavaScript 中插入它时——它不起作用。
{
items: "<%= @items %>"
}
我认为问题是实体被转义了。如果我使用 alert 来检查返回的值,我可以看到引号等所有实体都被转义了。
我直接插入值的其他地方似乎工作正常。例如:
invoice_number: "<%= @order.id %>"
其他人也遇到过这个问题,但在这种情况下似乎没有一个解决方案有效。我试过raw、html_safe等。
我一定错过了什么。解决此问题的最佳方法是什么?
【问题讨论】:
标签: javascript ruby-on-rails json ruby security