加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 5:验证复选框的接受程度

发布时间:2020-12-17 02:49:53 所属栏目:百科 来源:网络整理
导读:我有一个带有一些嵌套字段的注册表单,在这个表单中我添加了一个服务条款的复选框. 我正在尝试验证何时选中复选框,如果没有则返回错误. validates_acceptance_of :agreement,:allow_nil = true,:accept = true,:on = :create 我有一个布尔列,在accounts表中设
我有一个带有一些嵌套字段的注册表单,在这个表单中我添加了一个服务条款的复选框.

我正在尝试验证何时选中复选框,如果没有则返回错误.

validates_acceptance_of :agreement,:allow_nil => true,:accept => true,:on => :create

我有一个布尔列,在accounts表中设置为默认值.

add_column :accounts,:agreement,:boolean,default: false

此外,我已将:协议添加到允许的控制器参数中.

这是形式:

<%= form_for(resource,as: resource_name,url: registration_path(resource_name)) do |f| %>
    <div class="centerList">
      <div id="error_explanation">
        <%= devise_error_messages! %></div>
    </div>

      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= f.email_field :email,autofocus: true,placeholder: "email",:class=>"form-control" %>
      </div>

      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= f.password_field :password,placeholder: "password",autocomplete: "off",:class=>"form-control" %>
      </div>

      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= f.password_field :password_confirmation,placeholder: "confirm password",:class=>"form-control"  %>
      </div>

      <%= f.fields_for :account do |form| %>


      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= form.text_field :street,placeholder: "street",:class=>"form-control" %>
      </div>

      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= form.text_field :city,placeholder: "city",:class=>"form-control"  %>
      </div>

      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= form.text_field :state,placeholder: "state",:class=>"form-control" %>
      </div>

      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= form.text_field :zip_code,placeholder: "zip code",:class=>"form-control" %>
      </div>

      <div class="form-group">
        <span class="asterisk_input"></span>
        <%= form.country_select :country,["US"],{},{ :class => "form-control",:id=>"sign-frm-input" } %>
      </div>

      <div class="form-group">
          <%= form.check_box :agreement %> I agree to the <%= link_to 'Terms',term_path(:id=>1) %>.
      </div>

<% end %>
      <div class="form-group">
        <%= f.submit "Sign up",:class=>'btn btn-primary' %>
  <% end %>

但它返回表格错误协议必须被接受,即使我接受它.任何想法我可能会遗漏的东西!

解决方法

尝试:验证:协议,接受:{accept:true},on :: create,
allow_nil:false

您不想:allow_nil =>如果您确认接受,则为true.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读