计算不为空的地方

Count where is not null

目前我使用

Appointment.where.not(time: nil).count

是否可以通过 Appointment.count 执行此操作?

如果您想使用 .count 实现此目的,您必须从数据库中加载所有对象,然后使用 ruby 计数。 (来自文档:http://edgeapi.rubyonrails.org/classes/ActiveRecord/Associations/CollectionProxy.html#method-i-count

所以正确的方法是你已经拥有的。它构建查询以计算时间列不为空的所有对象。

为什么要改变它?