【发布时间】:2013-05-15 02:44:18
【问题描述】:
我在生产环境中切换到 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 在所有环境中成功。
【问题讨论】:
-
不确定 put 问题。是否可以添加一些模型逻辑和/或帮助器以使 1/0 变为 false/true?
标签: mysql ruby-on-rails sql-server activeadmin