在 Rails 文档中,提供的例子 http://api.rubyonrails.org/classes/Object.html#method-i-presence为了Object#presence
方法是:
region = params[:state].presence || params[:country].presence || 'US'
但这不就相当于:
region = params[:state] || params[:country] || 'US'
使用有什么意义presence
?
重点是:
''.presence
# => nil
so if params[:state] == ''
:
region = params[:state].presence || 'US'
# => 'US'
region = params[:state] || 'US'
# => ''
更重要的是,它的工作方式类似(即返回nil
如果对象是“空”)在每个响应的对象上empty?
方法,例如:
[].presence
# => nil
这是文档,供参考:
http://api.rubyonrails.org/classes/Object.html#method-i-presence http://api.rubyonrails.org/classes/Object.html#method-i-presence
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)