ruby-on-rails – Rails – 从params hash获取所有密钥
发布时间:2020-12-17 02:24:52 所属栏目:百科 来源:网络整理
导读:为了提高我的Rails应用程序安全性,我想知道如何从参数哈希中获取所有键 哈希示例: params = {"id"=23,"name"="test","infos"={"data"="er323e3ee23reQir","signed"=true}} 如果我做params.keys 我获得了:[“id”,“name”,“infos”] 但我想在一个简单的数
为了提高我的Rails应用程序安全性,我想知道如何从参数哈希中获取所有键
哈希示例: params = {"id"=>23,"name"=>"test","infos"=>{"data"=>"er323e3ee23reQir","signed"=>true}} 如果我做params.keys 我获得了:[“id”,“name”,“infos”] 但我想在一个简单的数组中获取所有键,如:[“id”,“infos”,“data”,“signed”] 有一个简单的方法来做到这一点? 解决方法
试试这个:
def deep_hash_keys(h) h.keys + h.map { |_,v| v.is_a?(Hash) ? deep_hash_keys(v) : nil }.flatten.compact end params = {"id"=>23,"signed"=>true}} deep_hash_keys(params) # => ["id","name","infos","data","signed"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |