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