私はこれを理解するのに問題がありましたので、私はここで尋ねると思いました。私はRuby 1.8.7とRoR 1.2.6を使用しています。私は私のコントローラは、このJSONをレンダリングする必要があり:Ruby 1.8.7 JSON.parseを使用したハッシュの並べ替え
{
"form_id": "1",
"form_structure": {
"3": {
"answer_required": "undefined",
"title": "This is a radio group, right?",
"cssClass": "radio",
"values": {
"4": {
"value": "Yes",
"baseline": "undefined"
},
"5": {
"value": "No",
"baseline": "undefined"
},
"7": {
"value": "Maybe",
"baseline": "undefined"
},
"20": {
"value": "Test",
"baseline": "undefined"
}
}
}
}
}
あなたが見ることができるように、「値」の下のオプションは、テーブルからIDによって順序付けられます。 JSONで完璧に見えます。私はそれにJSON.parse
を使用する場合は、「値」の下のすべてが調子が悪いの全てを取得し、それがこれを返します。
{
"form_id"=>"1",
"form_structure"=>{
"3"=>{
"title"=>"This is a radio group, right?",
"cssClass"=>"radio",
"answer_required"=>"undefined",
"values"=>{
"7"=>{
"baseline"=>"undefined",
"value"=>"Maybe"
},
"20"=>{
"baseline"=>"undefined",
"value"=>"Test"
},
"4"=>{
"baseline"=>"undefined",
"value"=>"Yes"
},
"5"=>{
"baseline"=>"undefined",
"value"=>"No"
}
}
}
}
}
このコードは、私が作ってるんだformbuilderに使用され、そしてそれは本当に素敵ではないでしょう人が構築したフォーム要素が正しい順序で表示されていない場合は、誰でもその注文を保持したり、出力したり直前に並べ替える方法についての洞察を得ていますか?ここで
一切のRubyバージョン1.8.9はありません... –
'Hash' 1.8.7では順序付けされていないので、 '{" values "=> [[7" {"baseline" => ...}]、[20、... '?とにかく、ハッシュを注文することは難しいビジネスです。定義によって、 –
ハッシュは順序を持たない。それを処理し、配列に変更します。 –