ruby-on-rails – Rails MySql上的复选框存储为null或零
发布时间:2020-12-17 04:13:32 所属栏目:百科 来源:网络整理
导读:在我的rails应用程序上,我有一个项目列表(如任务列表),每个项目都有一些复选框来设置参数. 当我提交表单时,复选框将存储为零,并且在DB上未选中为null. 问题是:有没有办法配置它?要将数据存储在更传统的0或1上,因为我认为将null存储为false,将0存储为true有
在我的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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |