scribble

吕小荣

Blog Friends RSS About

present?

14 December, 2013

我经常会在 controller 写这种丑陋的代码:


unless @labels.blank?
    ...
end

unless 加 blank?,双重否定,读起来好拗口啊!

not_blank?

假如世界上有个 not_blank? 方法该有多好啊,我的小脑袋就不用绕来绕去了。

可惜这个方法不存在。


if @labels.not_blank?
    ...
end

present?

幸好我有一双发现美的眼睛,偶尔看到别人更直白的处理方式。


if @labels.present?
    ...
end

present? 是一个 Rails 方法,源码:


# File activesupport/lib/active_support/core_ext/object/blank.rb, line 18
def present?
  !blank?
end

An object is present if it’s not blank?.

这个方法够直白,妈妈再也不用担心我的脑容量了。