将一些常见的 Ruby 对象(如字符串、哈希、数组)转换为相应的 Javascript 对象的好方法是什么?例如,jQuery css()
接受哈希作为参数。假设我有一个像这样的 Ruby 散列:
h = {"background-color" => "yellow", "color" => "green"}
我想将这个 ruby 对象嵌入到一个字符串中,以便它成为一个有效的 javascript (jQuery) 命令。我现在最好的尝试是像这样通过 json 转换它:
"$('#foo').css(JSON.parse('#{h.to_json}'));"
但是效果不是很好。我想要一种更直接、更有效的方法来做到这一点。有什么好的方法吗?
最佳答案
无需转成字符串再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);
关于javascript - 将 Ruby 对象转换为 Javascript 对象以进行插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16243367/