2012-01-19 10 views
1

私はデータ型データベースをクエリして8ビットのunsigned intを取得しますが、Rubyがブール値に変更するので使用できません。8ビットのunsigned intを整数型または文字列型に変換する方法

8ビットの符号なし整数を整数または文字列に変換できますか?

これは、MySQLが5.0より前のいずれかのboolean型を持っていなかったので、AAブール値であることをtinyint(1)(8ビット整数)を考慮のActiveRecordとMySQLで起こるあなた

+0

puts yourint.inspectの結果を投稿できますか? yours.class'を入れますか? –

+0

データベースへのアクセス方法を示すコードが必要です。 Sequel ORMを使用することをお勧めしますが、データベースにアクセスするには他にもたくさんの方法がありますが、ドライバがサポートしているものならすぐには使えない価値はありません。 –

答えて

0

ありがとう(それがBITを持っています今)。この動作を完全に無効にすることはできますが、フィールドごとまたはモデルごとに無効にする方法がわからないため、無効にすると他のフィールドで "ブール値"の動作が失われます。幸運なことに、大部分の文脈では0が依然としてfalseであり、それ以外のものは依然として真であるため、これは大きな問題ではないでしょう。

あなたはconfig/application.rbにこれを置くことによって、それを無効にすることができます

ActiveRecord::ConnectionAdapters::Mysql2Adapter.emulate_booleans = false 

the ActiveRecord API docsを参照してください。

関連する問題