present?メソッドとは
対象のオブジェクトがnil, "", " "(半角スペース), , {}(空のハッシュ)の時にfalase,それ以外の場合はtrueを返すメソッド(!blank?と同じ)。
engineer = 'aoki'
engineer.present?
=> true
engineer = nil
engineer.present?
=> false
engineer = ""
engineer.present?
=> false
presenceメソッドとは
present?の結果がtrue
の時、レシーバ自身
を返し、`present? の結果が false のときは nil を返すメソッド。
engineer = 'aoki'
engineer.presence
=> 'aoki'
engineer = nil
engineer.presence
=> nil
engineer = ""
engineer.presence
=> nil
参考
[ActiveSupport の便利メソッド: try, blank?, present?, presence]
(http://www.techscore.com/blog/2012/12/25/activesupport-%E3%81%AE%E4%BE%BF%E5%88%A9%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89-try-blank-present-presence/)