1

params[:id] のように 1 つずつ抽出できますが、params[:all] や parameters['all'] のようにすべてを抽出する方法を教えてください。

Parameters: {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}
4

1 に答える 1

2

Rails パラメータはHashWithIndifferentAccess、 のサブクラスである のインスタンスですHash

params.class
# => HashWithIndifferentAccess
params.is_a? Hash
# => true

で全体Hashを取得できますparams

params
# => {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}

または#to_hash、プレーンが必要な場合Hash:

params.to_hash
# => {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}
params.to_hash.class
# => Hash

のキー#keys:

params.keys
# => ["id", "video_type"]

そして値#values

params.values
# => ["aom7v66e309yjkd2x0aq", "trailer"]

特定のキーを抽出するには、次を使用できます#slice

params = {"a"=>1, "b"=>2, "c"=>3}
params.slice("a", "c")
# => {"a"=>1, "c"=>3}

またはその対応物#except

params = {"a"=>1, "b"=>2, "c"=>3}
params.except("b")
# => {"a"=>1, "c"=>3}
于 2013-04-09T09:38:34.777 に答える