如何在Ruby中检查参数“param [:some_value]”

我知道一些检查参数是否为零的方法

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? 

哪一个是正确的,最受欢迎的?它们之间有什么区别?
我宁愿使用if param [:some_value],因为它最简单,最短.

以下是nil?之间的一些区别,空白?和礼物?:

>> "".nil?
=> false
>> "".blank?
=> true
>> "".present?
=> false
>> " ".nil?
=> false
>> " ".blank?
=> true
>> " ".present?
=> false

请注意礼物?转换为不是零而不是空白.还要注意,虽然没有?由Ruby提供,空白?和礼物?是Rails提供的帮手.

那么,选择哪一个?当然,这取决于你想要什么,但是在评估params [:some_value]时,你通常不仅要检查它不是nil,还要检查它是否为空字符串.这两个都被现在覆盖?

转载注明原文:如何在Ruby中检查参数“param [:some_value]” - 代码日志