作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
在我的 Rails 应用程序中,我有一个项目列表(如任务列表),每个项目都有几个复选框来设置参数。
当我提交表单时,选中的框在数据库中存储为零,未选中的存储为空。
问题是:有办法配置吗?将数据存储在更传统的 0 或 1 上,因为我认为将 null 存储为 false 并将 0 存储为 true 有点令人困惑,特别是如果另一个应用程序(如 C 应用程序)需要读取数据。
最佳答案
假设您正在使用的属性是 club_member
,如“您是 club_member 吗?”。
请注意,在 Ruby/Rails 中,它现在的工作方式是,if model.club_member
如果未选中(值为 null 或在 Ruby 中为 nil),则返回 false,如果选中,则返回 true已选中(值为 0)。
总的来说,我强烈建议您不要让其他应用程序(如 C 应用程序)直接访问您的数据,而应该在 Ruby/Rails 中构建一个 API 以将应用程序中的数据公开给外部实体。通过这种方式,您将更好地封装应用程序的内部结构,而不必担心此类问题。
然而,综上所述,这是您的答案:
使用:
value="1"
...您的复选框 HTML 标记中的属性,并将 boolean 属性(在您的迁移中)的默认值设置为 0。
关于ruby-on-rails - MySql 上的 Rails 复选框存储为 null 或零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/125496/
我是一名优秀的程序员,十分优秀!