我正在开发一个 Rails 应用程序,其中有一组两个单选按钮,用户可以在其中单击"is"或“否”。 ActiveRecord 迁移创建的 MySQL 数据库列是一个 tinyint。
如果用户没有单击任何一个单选按钮,我希望 MySQL 存储 NULL
。 (该列允许 NULL。)当他们回来编辑数据时,不应选中这两个按钮。
发生的事情是 ActiveRecord 正在存储 0
,然后当我返回时选中“否”按钮。
rails 2.3.5
表单代码(我使用的是 Haml):
= f.radio_button( :model_attribute, true )
Yes
= f.radio_button( :model_attribute, false )
No
(回想起来,使用单个复选框可能会更好,但现在很难更改。)
最佳答案
我在使用 ASP.NET MVC 时遇到了这样的问题。由于 null
本质上是第三种可能的状态,因此我添加了第三个默认选中的隐藏单选按钮。当我的响应包含“空”单选按钮响应时,我手动设置它。我不确定这是否正是您想要的,但它对我的情况非常有效。
关于ruby-on-rails - 如何获得一组单选按钮来接受 NULL(未选中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503456/