我已经通过rails控制台确认了这个记录不存在。但是,当我运行此代码时,“它存在”会打印到控制台。
我如何使用ruby查询数据库有问题吗?
if Companyavg.where(:company => 'goog', :word => 'baa')
puts 'it exists'
else
puts 'doesnt exist'
end
最佳答案
变化:
if Companyavg.where(:company => 'goog', :word => 'baa')
到:
if Companyavg.where(:company => 'goog', :word => 'baa').exists?
这比使用
present?
更有效,因为它可以运行优化的查询以返回正确的结果。您的初始查询将始终是真实的,因为它返回一个
ActiveRecord::Relation
(简单地说,是一个惰性的未迁移查询)。关于ruby-on-rails - 如何使用ruby查询数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16179203/