首页 > 解决方案 > 在其他字段上触发验证时复选框未保持选中状态

问题描述

我有一个 Rails 表单,其中有几个文本字段,如名字、姓氏和条款和条件复选框,我几乎没有验证,而且名字不能为空。

我面临的问题是,当我检查条款和条件复选框并且在其他字段上触发了验证时,该复选框不会保持选中状态。

同时,我在名字或姓氏中输入的文本值在触发验证时保持设置。

这是我的表单代码

<%= f.text_field :first_name, autofocus: true, autocomplete: "first name", placeholder: 'First Name'%>
<%= f.text_field :last_name, autofocus: false, autocomplete: "last name", placeholder: 'Last Name'%>
<%= f.email_field :email, autofocus: false, autocomplete: "email", placeholder: 'Email'%>
<%= f.password_field :password, autocomplete: "off", placeholder: 'Password' %>
<%= f.password_field :password_confirmation, autocomplete: "off", placeholder: 'Password Confirmation' %>
<%= f.check_box :terms_and_conditions %>

我的问题是,当其他表单字段在触发验证时保留数据时,复选框不会这样做,是预期的行为还是我做错了什么。

如何还保留复选框数据并在其他字段出现错误时显示它是否已选中。

谢谢。

标签: ruby-on-railsruby-on-rails-5

解决方案


这对我来说是一个愚蠢的错误,我不必在允许的列列表中添加复选框列,一旦添加,它就解决了问题。

谢谢。


推荐阅读