我有一个常见问题:我正在使用设计,我想为"条款和条件"添加一个复选框。
除了片刻之外,它到处都很好。如果我做
<%= f.check_box(:terms_and_conditions )%>
然后我得到一个错误::terms_and_conditions没有定义。我应该在哪里定义它?该模型?控制器?
答案 0 :(得分:3)
尝试使用acceptance
验证方法:
class User < ActiveRecord::Base
validates :terms_and_conditions, acceptance: true
end
如Rails指南中所述
此验证非常特定于Web应用程序,并且此“接受”不需要记录在数据库中的任何位置(如果您没有字段,则帮助程序将只创建虚拟属性)。
此外,您需要将:terms_and_conditions
参数添加到允许的参数中以进行注册:
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :terms_and_conditions
end
end