0

次のような配列(Ruby on Rails)があります:

[{"name"=>"Start Time", "id"=>3, "value"=>"15:00"}, 
 {"name"=>"End Time",   "id"=>4, "value"=>"16:00"}]

この配列をキーに割り当てて、次のようにするにはどうすればよいですか。

{"custom_fields": [{"name"=>"Start Time", "id"=>3, "value"=>"15:00"}, 
                   {"name"=>"End Time",   "id"=>4, "value"=>"16:00"}]}
4

4 に答える 4

1

あなたはかなり近かった。別のユーザーが言った=>ように、ハッシュキーが文字列の場合は、古い構文を使用する必要があります。

{"custom_fields" => [{"name"=>"Start Time", "id"=>3, "value"=>"15:00"}, 
                   {"name"=>"End Time",   "id"=>4, "value"=>"16:00"}]}
于 2012-05-23T12:43:38.273 に答える
1

Ruby Hashリテラルの正しい構文は次のとおりです。

hash = { "string key" => value }
hash = { :symbol_key  => value }

この構文は、ruby > 1.9 およびキーとしてシンボルのみを持つハッシュでのみ使用できます。

hash = { symbol_key: value }

追伸: 基本を学ぶには、おそらく優れた Ruby の本を掘り下げる必要があります。rubyist の間で認識されている参考文献は「つるはし」の本です。

于 2012-05-23T12:14:01.530 に答える
0

Ruby on Rails はわかりませんが、あなたが書いたものを見て、私の推測では次のようになります。

[{"custom_fields"=>{{"name"=>"Start Time", "id"=>3, "value"=>"15:00"}, {"name"=>"End Time", "id"=>4, "value"=>"16:00"}}}]
于 2012-05-23T12:00:08.160 に答える
0

新しいハッシュを作成し、配列をキーに割り当てるだけcustom_fieldsです:

myHash = Hash.new
myHash['custom_fields'] = myArray

また、ハッシュと配列について読むことをお勧めします。これらは Ruby では同じではありません。
たとえば、PHP のバックグラウンドを持っている場合、ハッシュは連想配列であり、配列は... キーを持たない配列 (たとえば[:a, :b, :c]) であると見なすことができます。

于 2012-05-23T12:36:58.330 に答える