Rails:处理数据库中找不到的数据



这可能是最基本的问题之一,但我仍然认为stackoverflow是我正确理解逻辑的最佳方式。

我的简单问题是,如果数据库查询不返回任何内容,如何处理它。下面是我的代码;

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

稍后,当我想检查@userSelected.userID是否为空时,它会给我错误;

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

我能做些什么来防止

使用blank? 而不是empty?

   @tokenSelected.blank?

如果对象为false、空或空白字符串,则该对象为空。例如,"、"、nil、[]和{}都为空。

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

最新更新