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