0

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

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

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

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

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

我能做些什么来防止这种情况发生

4

2 回答 2

2

而不是empty?使用blank?

   @tokenSelected.blank?

如果对象为假、空或空白字符串,则该对象为空。例如,“”、“ ”、nil、[] 和 {} 都是空白的。

于 2012-09-11T09:35:40.613 回答
2

使用object.present?它返回falsenil、[]、{}、空字符串和空集合。

于 2012-09-11T09:41:15.290 回答