2
我想知道Rails數據庫查詢是否返回行(我不需要知道行內是什麼,就像返回一行一樣)。檢查Rails數據庫查詢是否返回Nothing
我可以這樣做:
academic_year = AcademicYear.find_by_raw_input(year)
if academic_year
...
end
但如果我輸錯,做一個find_all_by
:
academic_year = AcademicYear.find_all_by_raw_input(year)
則返回一個空數組,這會導致if
聲明是真實的。
我知道,我應該小心,只是避免all
調用,但是有沒有rails-esque調用來查看返回結果是否來自任何查詢(all
或不是)nil
?
Ruby on Rails的擴展'Object'包括一些輔助方法。其中有'present?()',它完全返回'!blank?'。 '如果x.present?'比'if!x.blank?'更容易閱讀。 [請參閱Ruby on Rails docs for Object](http://api.rubyonrails.org/classes/Object.html#method-i-present-3F) – 2012-07-09 22:38:28