我在MySql数据库中遇到问题MySql.Created一个布尔列(通过数据库迁移),将值切换为“true”。我在rails应用程序中有一个方法检查该列中的值是否为true ,但它总是返回false(即使从ruby控制台调用)。尝试在SQLite数据库上使用相同的迁移,并且相同的代码在同一列上返回true。观察到MySQL使用tinyint作为布尔值(1 == true)。
请问我该怎么纠正?
我的移民:
def self.up
create_table :users do |t|
t.string :name
t.string :email
t.boolean :admin , default => false
...
t.timestamps
end
端 ...
然后我使用Faker Gem来填充我的数据库,在其中切换一个用户将其值设置为true
通过Faker Gem的样本数据
admin = User.create!(:name => "sample",
:email => "sample@sample.com",
:password => "sample",
:password_confirmation => "sample")
admin.toggle!(:admin)
仅为此用户