私はレールのクエリを持っている:なぜこれは常にtrueを返しますか?
Model.exists?(where(:x => 1, :y => y, :z => z).first)
これはtrueを返しています。私のデータベースの唯一の行は、xが0に設定されていて、1に設定されていません。
Ninja-edit:チェックしたところ、それは問題ではないようですが、常にtrueを返します。これの理由は何ですか?
私はレールのクエリを持っている:なぜこれは常にtrueを返しますか?
Model.exists?(where(:x => 1, :y => y, :z => z).first)
これはtrueを返しています。私のデータベースの唯一の行は、xが0に設定されていて、1に設定されていません。
Ninja-edit:チェックしたところ、それは問題ではないようですが、常にtrueを返します。これの理由は何ですか?
私が何をしたいことは
Model.where(:x => 1, :y => y, :z => z).exists?
nate cのコメントは私の問題を解決しましたが、これもそうかもしれません。あなたのやり方に利点がない限り、それを試しても意味がありません。 –
主な利点は、より読みやすいということです。 – Dty
の線に沿ってより多くのあなたが実行されたものをSQLを確認しましだと思いますか?デバッグログで見つけることができます。 –
model.exists(:x => 1、...)最初にどこにもなくても。また存在する?最初の理由がないはずの行ではないブール値を返すことになります。 –
ありがとうございました!答えとして入れて、それを正しいとマークします。私は他の場所でそれを使用しています。なぜここで使用しようとしていたのですか? –