タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

データベースとRubyに関するtkmkg8mのブックマーク (1)

  • ActiveRecord の where.not とド・モルガンの法則 - アジャイルSEの憂鬱

    where.not を使っていて遭遇した問題についてrailsdmの懇親会で話していたら、@kamipo さんから「5.2では少し直っている」という情報を頂いた。 この話をしているときに思ったけど、今の where.not の問題点について知らない人も多そうなので、せっかくなのでブログにまとめてみた。 where.notの問題 where.not のドキュメントにいくつか例がある。 問題は複数の条件を引数で指定した場合。 User.where.not(name: "Jon", role: "admin") # SELECT * FROM users WHERE name != 'Jon' AND role != 'admin' これはド・モルガンの法則でORになりそうなのに、なっていない。 # ド・モルガンの法則 # NOT(A AND B) = NOT(A) OR NOT(B) # つま

    ActiveRecord の where.not とド・モルガンの法則 - アジャイルSEの憂鬱
    tkmkg8m
    tkmkg8m 2018/03/27
    where.notに複数条件渡したことないけど、これ危ないなぁ。暗黙的になってるとバグりそう。
  • 1