ruby-on-rails - 如何删除哈希值为空的哈希键?

标签 ruby-on-rails ruby ruby-on-rails-3 hash key-value

我正在使用 Ruby on Rails 3.2.13,我想删除对应哈希值为空的哈希键。也就是说,如果我有以下哈希

{ :a => 0, :b => 1, :c => true, :d => "", :e => "   ", :f => nil }

那么生成的散列应该是(注意:0true 不被认为是空白)

{ :a => 0, :b => 1, :c => true }

我该怎么做?

最佳答案

如果使用 Rails 你可以试试

hash.delete_if { |key, value| value.blank? }

或者如果只是 Ruby

hash.delete_if { |key, value| value.to_s.strip == '' }

关于ruby-on-rails - 如何删除哈希值为空的哈希键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19148680/

相关文章:

ruby - 将值与数组成员进行匹配/比较

ruby - 在 Rails 3 中安装同一引擎的多个实例

ruby-on-rails - 铁路 3 - 乘客路径问题

ruby-on-rails - 在 ruby​​ 中使用索引遍历属性

ruby 正则表达式查找嵌套匹配项

ruby-on-rails - 为 gem Rails 配置全局设置的最佳位置

ruby-on-rails - after_commit :on => :create callback 中跟踪模型更改

ruby-on-rails - 有测试血统的工厂

html - 找不到类型为 'bootstrap' 的文件 'text/css'

ruby-on-rails - 为什么我今天必须在我的命令前添加 'bundle exec'?