我可以像params [:id]一样逐一提取,但是如何提取所有这些像params [:all]或参数['all']。
Parameters: {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}
答案 0 :(得分:2)
Rails参数是HashWithIndifferentAccess
的实例,Hash
的子类。
params.class
# => HashWithIndifferentAccess
params.is_a? Hash
# => true
您可以使用Hash
获取整个params
:
params
# => {"id"=>"aom7v66e309yjkd2x0aq", "video_type"=>"trailer"}
如果您需要简单Hash
:
#to_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}