Rails检查模型是否为空。

10

我创建了模型Profile.rb
在数据库列上我有name,目前是空的
如何在Rails控制台上检查Profile是否为空?
我尝试过Profile.empty?,但我猜那不是正确的方法


什么是“empty”的意思? - Hieu Pham
5个回答

14

这也可能是你的一个选择。

Profile.any?

这将会像对数据库的查询一样执行

Profile.any?
# (0.6ms)  SELECT COUNT(*) FROM "profiles"
# => false

我想这样会更有语义化。


3
也许可以尝试查找任何个人资料对象:
Profile.first.nil?

3
尝试使用。
Profile.exists?

如果表不为空,它将返回true,如果表为空,则返回false。


1

你也可以尝试一下

Profile.first.present?

我认为这将使代码更易读,但nil?也可以使用。


0

我不清楚你的意思是Profile表为空,还是任何一个Profile条目中的名称列为空。

正如kjprice所提到的,你可以先查询数据库。或者执行以下操作:

Profile.all.count < 1

否则,我猜你正在查看单个个人资料条目中的名称列。
Profile.first.name.empty?

谢谢,我想检查列名是否为空,非常有用。 - user4571629
1
Profile.all.count < 1 隐含着 Profile.all.count == 0,因此我们可以使用 Profile.all.count.zero?,这样更清晰明了! - Hieu Pham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接