3

一般的な Ruby オブジェクト (文字列、ハッシュ、配列など) を対応する Javascript オブジェクトに変換する良い方法は何ですか? たとえば、jQuerycss()はハッシュを引数として受け入れます。次のような Ruby ハッシュがあるとします。

h = {"background-color" => "yellow", "color" => "green"}

この ruby​​ オブジェクトを文字列に埋め込んで、有効な javascript (jQuery) コマンドにしたいと考えています。私の最善の試みは、次のようにjson経由で変換することです:

"$('#foo').css(JSON.parse('#{h.to_json}'));"

しかし、うまく機能していません。私はそれを行うためのより直接的で効果的な方法が必要です。良い方法はありますか?

4

1 に答える 1

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);
于 2013-04-26T18:57:18.027 に答える