ruby-on-rails – Rails MySql上的复选框存储为null或零

在我的rails应用程序上,我有一个项目列表(如任务列表),每个项目都有一些复选框来设置参数.

当我提交表单时,复选框将存储为零,并且在DB上未选中为null.

问题是:有没有办法配置它?要将数据存储在更传统的0或1上,因为我认为将null存储为false,将0存储为true有点令人困惑,特别是如果另一个应用程序(如C应用程序)需要读取数据.

解决方法

让我们假设你正在使用的属性是club_member,如“你是一个俱乐部成员吗?”.

请注意,在Ruby / Rails中,它现在的工作方式,如果未检查model.club_member将返回false(值为null或在Ruby中为nil),如果选中它则为true(值为0).

总的来说,我强烈建议您不要直接在数据中使用其他应用程序(如C应用程序),而应在Ruby / Rails中构建一个API,以便将应用程序中的数据公开给外部实体.通过这种方式,您将更好地封装应用程序的内部,您不必担心这样的事情.

然而,所有这一切,这里是你的答案:

使用:

value="1"

复选框HTML标记中的…属性,并将布尔属性认值(在迁移中)设置为0.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...