明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

Rails :.nil? , .empty?, .blank? .present? 的区别

Posted on 2015-03-13 09:18  且行且思  阅读(544)  评论(0编辑  收藏  举报
.nil? , .empty?, .blank? .present? 的区别

首先这三个都是判空的。 而 .nil? 和 .empty? 是ruby的方法。 .blank? 是rails的方法

.nil?       判断对象是否存在(nil)。不存在的对象都是nil的

.empty?  对象已经存在,判断是否为空字段,比如一个字符串是否为空串,或者一个数组中是否有值。有点像判断长度是否为零,呵呵

.blank?   相当于同时满足 .nil? 和 .empty? 。railsAPI中的解释是如果对象是:false, empty, 空白字符. 比如说: "", " ", nil, [], 和{}都算是blank。   (object.blank? 相当于 object.nil?||object.empty?)

 

.present ? (The opposite of Rails blank? is present?)