What is the difference between using .exists?, and .present? in Ruby?

后端 未结 6 2061
独厮守ぢ
独厮守ぢ 2020-12-08 09:32

I want to make sure I\'m using them for the correct occasion and want to know of any subtleties. They seem to function the same way, which is to check to see if a object fi

6条回答
  •  天涯浪人
    2020-12-08 09:50

    You can avoid database query by using present?:

    all_endorsements_11 = ArtworkEndorsement.where(user_id: 11)
    ArtworkEndorsement Load (0.3ms)  SELECT "artwork_endorsements".* FROM "artwork_endorsements" WHERE "artwork_endorsements"."user_id" = $1  [["user_id", 11]]
    all_endorsements_11.present?
    => true 
    all_endorsements_11.exists?
    ArtworkEndorsement Exists (0.4ms)  SELECT  1 AS one FROM "artwork_endorsements" WHERE "artwork_endorsements"."user_id" = $1 LIMIT 1  [["user_id", 11]]
    => true 
    

提交回复
热议问题