2011-12-06 11 views
0

私は一般的なレールには非常に新しいですし、私が持っているものは、1つのフォーマットのjsonとして渡されているハッシュですが、今私はそれを操作するビューに渡す必要があります私はそれを介して各ループのいくつかのタイプを行う必要があるように、ハッシュを反復してビューで動作させる。その2次元ハッシュdunnoは、何かを意味するかどうかを示します。jRubyハッシュ反復初心者ここに

編集

{"status":"successful","service_list":[{"service_name":"mySQL","status":"RUNNING","status_message":"No errors reported","host":"1"},{"service_name":"PHP","status":"RUNNING","status_message":"No errors reported","host":"1"},{"service_name":"APache","status":"RUNNING","status_message":"No errors reported","host":"1"},{"service_name":"Jetty","status":"RUNNING","status_message":"No errors reported","host":"1"}]} 

これは私がJSONとしてそれを行うが、同じものを使用すると、HTMLベースのビューでそれをレンダリングする際に細かいレンダリング私は

を立ち往生しています場所です
+1

サンプルデータを投稿してどのようにループしたいのですか? – corroded

答えて

1

Ruby has haveをJavascript形式のJSONハッシュに変換しました。

hash = {"foo": "bar"} 
puts hash["foo"] # This returns "bar" 

JSONは、Rubyと同様であり、同じ方法でアクセスすることができます:

var hash = {"foo": "bar"}; 
alert(hash["foo"]); # This alerts "bar" 

あなたはJavascriptでこのコレクションを反復処理したい場合は、次のようにRubyでは、あなたはハッシュにアクセスしますあなたは、forループを使用することができます。

var data = {"status":"successful","service_list":[{"service_name":"mySQL","status":"RUNNING","status_message":"No errors reported","host":"1"},{"service_name":"PHP","status":"RUNNING","status_message":"No errors reported","host":"1"},{"service_name":"APache","status":"RUNNING","status_message":"No errors reported","host":"1"},{"service_name":"Jetty","status":"RUNNING","status_message":"No errors reported","host":"1"}]}; 
for(x=0;x<data["service_list"].length;x++) { 
    alert(data["service_list"][x]["service_name"]); # This returns "mySQL", ... 
}; 

あなたはルビーに、このJSONオブジェクトを変換するために欠けている場合は、引数として、あなたのJSON文字列で「JSON.parse」を呼び出すことができます。