8 months ago

在Rails中下面幾種情況被定義是blank:

nil或是false
只由空白組成的字串
空陣列或是空Hash
任何物件當使用empty?方法呼叫時回應為true時
在Ruby1.9中的字串支援辨識Unicode字元,因此某些字元像是U2029(分隔線也會被視為是空白。
以數字來說,0或是0.0並不是blank

舉例來說在ActionDispatch::Session::AbstractStore中就使用了blank?方法來確定session key是否存在:

def ensure_session_key!
if @key.blank?
raise ArgumentError, 'A key is required...'
end
end

present?方法就是blank?方法的相反,判斷是否存在,因此present?方法與!blank?方法兩者表達的意思是一樣的。

← ||= session →
 
comments powered by Disqus