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 に答える