gpt4 book ai didi

ruby-on-rails - 如何让 ActiveRecord 使用 :cast_booleans?

转载 作者:行者123 更新时间:2023-12-04 18:45:35 25 4
gpt4 key购买 nike

当使用带有 mysql2 适配器的 Ruby on Rails 时,我有几个 BIT 列我想在我的数据库中访问和写入。然而,当 ActiveRecord 尝试写入 BIT 列时,mysql 提示 x'30'x'31'(即,'0 ' 和 '1') 对于 BIT(1) 列来说太大了。

适配器 mysql2 在连接的查询函数 connection.query(str, :cast_booleans=>true) 中有一个散列选项,以便能够转换 FalseClassTrueClassb'0'b'1' 而不是 x'30'x'31'。但是,我从不直接访问 .query,我将其留给 ActiveRecord(否则,rails 有什么意义?)。

如何告诉 ActiveRecord 使用 :cast_booleans

最佳答案

我深入研究了 Rails 源代码,发现:

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb

也许您可以覆盖 quoted_truequoted_false

关于ruby-on-rails - 如何让 ActiveRecord 使用 :cast_booleans?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15754048/

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