RoR MySQL布尔值

时间:2011-07-15 11:05:39

标签: mysql ruby-on-rails-3

我在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)仅为此用户

0 个答案:

没有答案