我可以像 params[:id] 一样一一提取,但是如何像 params[:all] 或 parameters['all'] 一样提取所有这些。
Parameters: {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}
我可以像 params[:id] 一样一一提取,但是如何像 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}