Rails 关于数据库的 Boolean 类型 rails 的表示 问题

anleb · 2012年09月12日 · 最后由 feng88724 回复于 2015年10月15日 · 4679 次阅读

我们知道 数据库的表示 true 是 1 false 是 0

比如有个列是 admin,表示 是否是管理员,是 Boolean 类型

Id 1 处 admin 的值为 1

user=User.find(1) user.admin

console:输出的是 true

书上说 为了防止数据的 1 和 0 防止输出的也是 1 和 0,就用了一个魔法: user.admin? (加个问号)

问题:为什么不加问号也是输出了 true 和 false

我知道输出源数据是:user.admin_before_type_case

tinyint(1) 类型的字段自动对应 rails 的 boolean 类型

什么书啊……我从一开始看资料就说如果 migrate 写的是 boolean,那么这个字段的值就返回 boolean 啊。

where 里要查 admin 为 true 的情况怎么写

需要 登录 后方可回复, 如果你还没有账号请 注册新账号