Ruby on Rails 如何过滤哈希中值为空白/空/false/nil的无效条目
实现方法
你可以根据运行环境选择以下适配方案:
- Rails 6.1+ 环境
直接使用内置的compact_blank方法即可,该方法原生符合你的过滤规则:自动排除值为nil、空字符串、全空格字符串的条目,同时会保留false这类合法布尔值:filtered_hash = hash.compact_blank # 输出结果:{"bar"=>false, "zoo"=>"monkey"} - 纯 Ruby 环境
自行实现匹配规则的过滤逻辑即可:filtered_hash = hash.filter do |_, value| !value.nil? && !(value.is_a?(String) && value.strip.empty?) end # 输出结果和上述compact_blank方法完全一致
内容的提问来源于stack exchange,提问作者Vinirdishtith Rana
相关产品推荐
相关产品推荐

