gpt4 book ai didi

ruby-on-rails - 带有 sqlite 的 rails 中的 boolean 值

转载 作者:IT王子 更新时间:2023-10-29 06:21:21 24 4
gpt4 key购买 nike

我对 Rails 还是有点菜鸟,但我遇到了一些看起来有点奇怪的东西。因此,我向数据库中的模型添加了一个 boolean 字段

t.column :admin, :bool, :default => false, :null => false

但是,sqlite3 数据库中的值似乎是't''f'。这很好,但如果值为 'f',我仍然希望 user.admin? 返回 false。正如您从以下控制台 session 中看到的那样,情况并非如此:

>> user = User.first
=> #<User id: 2, login: "matt", name: "", email: "google.ninja@no-spam.com", crypt
ed_password: "c6740f820b4cbf6e3d88188719f23cd3053a54f0", salt: "5629f5ee09f51543
a7d64dd903b8d9e53aa43a24", created_at: "2009-04-26 23:08:05", updated_at: "2009-
04-26 23:10:38", remember_token: nil, remember_token_expires_at: nil, admin: "t"
>
>> user.admin?
=> true
>> user.admin = false
=> false
>> user.save
=> true
>> user = User.first
=> #<User id: 2, login: "matt", name: "", email: "google.ninja@no-spam.com", crypt
ed_password: "c6740f820b4cbf6e3d88188719f23cd3053a54f0", salt: "5629f5ee09f51543
a7d64dd903b8d9e53aa43a24", created_at: "2009-04-26 23:08:05", updated_at: "2009-
05-06 03:32:23", remember_token: nil, remember_token_expires_at: nil, admin: "f"
>
>> user.admin?
=> true

这只是 sqlite 的一些奇怪问题,还是我只是没有得到什么?

最佳答案

改用这个:

t.column :admin, :boolean, :default => false, :null => false

阅读原因 here .

关于ruby-on-rails - 带有 sqlite 的 rails 中的 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/827938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com