我在生产环境中切换到 SQL Server,并意识到 Active Admin PUT 调用没有更新我数据库中的某些布尔值。PUT 调用将返回 302,并且不会更新记录,即使我可以看到参数正在按预期发送。例如,如果布尔值设置为 false,而我想将其设置为 true,则 Active Admin 会正确地将值发送为 value => true,但不会更新。
我注意到有趣的一件事是,在我们运行测试的 heroku 上,这些字段的值将在 Active Admin 中正常更新。在使用 SQL Server 的生产环境中,值显示为 1 和 0,而不是 true 或 false。我有一种感觉,这是问题的一部分。
我的问题是,为什么只有一些布尔值在 SQL SERVER 上显示为 1 和 0,而在 heroku 和 mySQL 上显示为真或假?如何修复这些值以使显示为真和假,而不是 1 和 0?
更多信息。通过 rails 控制台更新这些值,在应用程序中,工作得很好。我可以说 model.field = true 然后 model.save 在所有环境中成功。