将一些常见的Ruby对象(如字符串,散列,数组)转换为相应的Javascript对象有什么好方法?例如,jQuery css()
接受散列作为参数。假设我有这样的Ruby哈希:
h = {"background-color" => "yellow", "color" => "green"}
我想将这个ruby对象嵌入到一个字符串中,以便它成为一个有效的javascript(jQuery)命令。我现在最好的尝试是通过json转换它:
"$('#foo').css(JSON.parse('#{h.to_json}'));"
但效果不佳。我想要一种更直接,更有效的方法来做到这一点。有好办法吗?
答案 0 :(得分:7)
无需转换为字符串,然后转换为JSON.parse:
"$('#foo').css(#{h.to_json});"
或者如果你突破它......
var h = #{h.to_json};
"$('#foo').css(h);"
以客户身份呈现给客户:
var h = {"background-color":"yellow","color":"green"};
$('#foo').css(h);