2012-09-11 58 views
0

這可能是最基本的問題之一,但我仍然認爲stackoverflow將是我獲得正確邏輯的最佳方式。Rails:處理從數據庫中找不到的數據

我的一個簡單的問題是,如果它不返回任何東西,如何處理數據庫查詢。下面是我的代碼。

@tokenSelected=Token.where(:tokenCode => "ABCDRRREF").first 

後來當我想檢查@ userSelected.userID是否爲空時,它給了我錯誤;

<h1> 
    NoMethodError 
    in InitsController#create 
</h1> 
<pre>undefined method `empty?&#x27; for nil:NilClass</pre> 

我能做些什麼來防止

回答

2

代替empty?使用blank?

@tokenSelected.blank? 

一個目的是空白的,如果它是假的,空的,或空白字符串。例如,「」,「」,nil,[]和{}都是空白的。

+0

'object.present? ==!object.blank?'。使用任何適合的。 –

2

使用object.present?它爲nil,[],{}返回false,空字符串和空集合。