我有一个常见的问题:我正在使用devise,我想为“条款和条件”添加一个复选框。
除了一瞬间,到处都覆盖着它。如果我做
<%= f.check_box(:terms_and_conditions )%>
然后我得到一个错误:未定义:terms_and_conditions。我应该在哪里定义它?该模型?控制器?
尝试使用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句