我已经通过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/

10-12 00:39
查看更多