0

我想知道 Rails 如何处理方法空白?

我试图建立自己的空白?等效的方法,但这并不容易。这是我的尝试:

def my_blank(state)
  if state == nil or state.empty? == true
     true
  else
     false
  end

end
4

2 回答 2

6

这个项目是开源的,所以看看源码:https ://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/object/blank.rb

您会看到为各种类(如 、 等)编写了单独的String方法Array

于 2012-08-29T17:27:11.957 回答
1

这是我写的另一个变体来帮助我处理系统中的一些结构:

Object.class_eval do
  def deep_blank?
    self.kind_of?(Enumerable) ? self.inject(true) { |running, element| running &&= element.kind_of?(Enumerable) ? element.deep_blank? : element.blank? } : self.blank?
  end
end

希望它可以帮助某人。

于 2013-08-15T20:42:27.250 回答