params[:id] のように 1 つずつ抽出できますが、params[:all] や parameters['all'] のようにすべてを抽出する方法を教えてください。
Parameters: {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}
params[:id] のように 1 つずつ抽出できますが、params[:all] や parameters['all'] のようにすべてを抽出する方法を教えてください。
Parameters: {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}
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}