gpt4 book ai didi

ruby - ActiveRecord bool 值返回 "f", "t"

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:50 24 4
gpt4 key购买 nike

我已将 bool 列添加到我的事件记录迁移

class AddIncludeInConsolidationToCompanies < ActiveRecord::Migration
def change
add_column :companies, :include_in_consolidation, :bool, :default => true
end
end

每当我从数据库中获取记录时,我得到的是“f”或“t”,而不是 true 或 false。

activerecord 不应该自动处理与数据库之间的类型转换吗?

这就像 ActiveRecord::Base.connection.quoted_true/false 默认为 true。

解决这个问题的最佳方法是什么?理想情况下,它应该可以正常工作, bool 列默认应该返回 bool 值而不是字符串。

最佳答案

'' 和 'f' 是 PostgreSQL 用于 bool 值的。

'bool' 不是 Rails 迁移的有效数据类型。您需要使用“ bool 值”。我的猜测是 'bool' 正在获取在数据库中创建的列,但是当数据加载到模型中时 Rails 感到困惑。更改并重新运行迁移,我敢打赌一切都会成功。

关于ruby - ActiveRecord bool 值返回 "f", "t",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740765/

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