Ruby on Rails:我如何递归替换我的参数?

时间:2011-08-08 20:52:11

标签: ruby-on-rails ruby

所以,我真的不希望任何空值传递到我的服务器,因为它在渲染时会破坏IE。

我认为在ApplicationController中的一个过滤器可以解决问题。

我有点想做类似params.gsub(/ \ 000 /,“”)之类的事情,但是因为params是一个哈希值,所以不起作用。

最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

def recursive_gsub(search, replace, value)
  case value
  when String
  value.gsub!(search, replace)
  when Array,Hash
  value.each{|v| recursive_gsub(search, replace, v)}
  end
end

然后recursive_gsub(/\000/,"",params) 应该工作。如果您想要更加漂亮的Hash,您甚至可以将此方法添加到params.recursive_gsub!(/\000/,"")