canceledRails 3.1.4 アプリのテーブル レコードに列があります。最初はcanceled、Firefox SQLite マネージャーで BOOL として作成されました。これは、ソフトウェアによって提供されるデフォルトの型です。canceled = falsein rails では、colfalseのレコードテーブルに保存されましたcanceled。問題は、 を使用してクエリを実行した場合、 が sqlite3 で FALSE として解釈されないため、 asRecord.where("canceled = ?", false)のレコードが選択されなかったことです。all = false を選択するには、次のことを行う必要があります。canceledfalsefalsecanceledRecord.where("canceled =? OR canceled =?", false, 'false')
canceledSQLite マネージャーで のデータ型を BOOL から 'boolean' に手動で変更した後、 asRecord.where("canceled =? ", false)で新しく作成されたレコードを取得できます。SQLite マネージャーでは、これらの値はRails によって FALSE として解釈されるものとして表されます。canceledfcanceledf
動作するようにテーブル レコードを修正する方法 (「false」を使用canceled)Record.where("canceled =? ", false)は? 本当にありがとう。
更新: Rails コンソールでテーブル レコードを照会canceledすると、ブール値 (true または false) として動作しません。false列内のすべてのレコードは、またはcanceledでピックアップできません。しかし、返された .classはまだRails コンソールにあります。奇妙ですね。Record.where("canceled =?", true)Record.where("canceled =?", false)canceledFalseClass