我想验证一个表单模型中的值(一个复选框实际上),但我有很多的麻烦找什么传递只会验证:如何验证一个表单的值的Rails 3
validates :agreement, :agreement => true
我已经得到了其他事情一样工作:
validates :password, :presence => true, :length => {:minimum => 6, :maximum => 25}, :confirmation => true
我的看法是这样的:
<% form_for :signup_form, :url => {:controller => "user", :action => "post_signup"} do |f| %>
... <%= f.check_box(:agreement)%>我同意<%= link_to(“服务条款”,:controller =>“about”,:action =>“terms”)%>和< %=的link_to( “隐私政策”,:控制器=> “约”:动作=> “隐私”)%> ...
然后进入我的控制器:
agreement = params[:signup_form][:agreement]
new_user = User.create(:login_name => login_name, :first_name => first_name, :last_name => last_name, :email => email, :password => password, :agreement => agreement, :created_at => DateTime.now())
然后我的模型。
感谢您提前提供任何帮助。
谢谢!以一种很好的方式显示错误也是我一直在尝试做的事情。在我刚刚检查了控制器中明显不正确的输入并将闪存变量设置为我想要显示的内容之前:flash [:signup_error] =“找到了不完整的表单,请重试” redirect_to(:controller =>“user”, :action =>“注册”) – tarabyte 2011-03-29 18:36:27
不错,我没有意识到你可以通过这种方式进行验证。我使用了validate:method_name – kvirani 2012-05-15 13:12:08