在过去的三个小时里,我正在尝试各种选择,以使“条款和条件”复选框生效。
这是我的代码/模型/user.rb
class User < ActiveRecord::Base
#validates :terms, acceptance: { accept: true } , :on => :create
validates_acceptance_of :terms, :allow_nil => false, :accept => true, :on => :create
end这就是我一直得到的

html看起来如下

我添加这个是为了允许对角
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
# for allowing terms in signup
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:terms])
end
end

“‘rails”,“4.2.8”
发布于 2019-08-03 12:29:20
您要将1作为复选框值传递。这是验证器的默认设置。所以,您所需要的就是摆脱:accept => true选项。true 1仅用于验证布尔数据库字段。据我所知,用户表中没有这样的列,您只想引用HTML复选框。
https://stackoverflow.com/questions/57335877
复制相似问题