Rails whereの検索で否定を使う

Shunsuke Sawada

User.where("gender != male")みたいにしたい時、Rails4以降ではnotが使える。

1
users = User.where.not(gender: "male")

複数繋げることも可能。

1
users = User.where.not(gender: "male").where.not(age: nil)

2つ目の.notの前にも.whereがいることに注意。

3
Shunsuke Sawada

おすすめの記事

Railsを4.2にバージョンアップしたら、Vagrantのローカル開発環境にアクセスできなくなった問題
Railsのバリデーションエラー後にレイアウトが崩れるとき
Rails / AjaxでHTMLが返ってきてしまう時の対処法