首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >布尔验证不通过,但params存在Rails 4并设计

布尔验证不通过,但params存在Rails 4并设计
EN

Stack Overflow用户
提问于 2014-09-03 22:04:31
回答 1查看 170关注 0票数 0

我在rails 4中使用一个布尔复选框对服务条款进行验证,我看到params正在通过,但我的验证仍然会抛出一个错误。

html.erb

代码语言:javascript
代码运行次数:0
运行
复制
<%= check_box_tag(:agree) %>
<%= label_tag(:agree, "I Agree") %>

devise_permitted_parameters.rb

代码语言:javascript
代码运行次数:0
运行
复制
def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) << :first_name << :last_name << :agree
  devise_parameter_sanitizer.for(:account_update) << :first_name << :last_name
end

如果我在模型中这样做是行不通的:

代码语言:javascript
代码运行次数:0
运行
复制
validates_acceptance_of :agree, :allow_nil => false, :accept => true, :on => :create

服务器:

代码语言:javascript
代码运行次数:0
运行
复制
Parameters: {"utf8"=>"✓", "authenticity_token"=>"VfMsm8nigtdMDh/jo6SyU8mUt5LIWlz0ymuiJwl4qFY=",
"user"=>{"first_name"=>"c", "last_name"=>"c", "email"=>"abc@def.com", "password"=>"[FILTERED]", 
"password_confirmation"=>"[FILTERED]"}, "agree"=>"1", "commit"=>"Register"}
Unpermitted parameters: first_name, last_name

不知道为什么我有不允许的对撞机..。只有当我玩弄提交表格时,它才会出现。

如果我使用来自其他帖子的这个建议,它会通过,但如果未选中“同意”框,它也允许注册:

代码语言:javascript
代码运行次数:0
运行
复制
validates_inclusion_of :agree, :in => [true, false]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-04 17:04:01

在查看了代码之后,我意识到使用了form_for,这就是为什么form_tag语法不能像预期的那样工作的原因。它还显示了为什么它仍然输出提交的信息。

我仍然不能百分之百确定为什么名字和姓氏是不允许的参数。我认为这是解决各种问题的cookie问题,如果您重新启动服务器,就会再次恢复正常。

希望这能在未来节省别人的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25654364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档