Rails で Where 句を使用すると、奇妙な問題が発生します。OR 演算子の構文と関係があると思います。これが私のクエリです:
Cookie.where("ID = ? OR ID = ? OR ID = ? OR ID = ?", chocolate.to_s, sugar.to_s, peanut_butter.to_s, oatmeal.to_s)
クエリを実行しようとすると、アプリケーションが無限にハングします。ただし、次のようなクエリを送信すると:
Cookie.where("ID = ?", chocolate.to_s)
期待どおりの結果が得られます。この where 句の適切な形式に関するヘルプをいただければ幸いです。ありがとう。
更新 私はレールコンソールに入り、あなたが提案したようにしました。これが結果でした:
SELECT \"TBLCookies\".* FROM \"TBLCookies\" WHERE (ID in ('4','3','2','1'))
これは正しいようです。SQL Developer を開き、このクエリを貼り付けて実行しました。期待通りの結果が得られました。だから、すべてがうまくいっているようです。ただし、Rails コンソールでクエリを実行しようとすると、何も返されません。コンソールが無期限にハングします。何がうまくいかないのかについての洞察は素晴らしいでしょう。