我仍然是一个仍然使用rails的菜鸟,但我遇到的东西看起来有点奇怪.我因此在数据库中为模型添加了一个布尔字段
t.column :admin, :bool, :default => false, :null => false
但是,sqlite3数据库中的值似乎是't'
或者'f'
.这很好,但user.admin?
如果值为,我仍然希望返回false 'f'
.从下面的控制台会话中可以看出,情况并非如此:
>> user = User.first => #>> user.admin? => true >> user.admin = false => false >> user.save => true >> user = User.first => # >> user.admin? => true
这只是sqlite的一些奇怪的问题,还是我只是没有得到什么?
请改用:
t.column :admin, :boolean, :default => false, :null => false
在这里阅读原因.