Ale*_*dre 7 ruby ruby-on-rails-3.2
我知道一些检查参数是否为零的方法
if param[:some_value]
if param[:some_value].present?
if !param[:some_value].nil? #unless param[:some_value].nil?
if !param[:some_value].blank? #unless param[:some_value].blank?
Run Code Online (Sandbox Code Playgroud)
哪一个是正确的,最受欢迎的?他们之间有什么区别?我宁愿使用,if param[:some_value]因为它最简单,最短.
Sha*_*uli 15
这里有一些差异nil?,blank?以及present?:
>> "".nil?
=> false
>> "".blank?
=> true
>> "".present?
=> false
>> " ".nil?
=> false
>> " ".blank?
=> true
>> " ".present?
=> false
Run Code Online (Sandbox Code Playgroud)
请注意,present?转换为not nil and not blank.另请注意,虽然nil?由Ruby提供,blank?并且present?是Rails提供的帮助程序.
那么,选择哪一个?当然,这取决于你想要什么,但是当评估params [:some_value]时,你通常不仅要检查它不是nil,还要检查它是否为空字符串.这些都包括在内present?.
| 归档时间: |
|
| 查看次数: |
13144 次 |
| 最近记录: |