Rails&设计字段验证

时间:2015-06-30 23:57:15

标签: ruby-on-rails ruby-on-rails-4 devise omniauth

我添加了:first_name和:last_name字段到我的用户模型,我添加了这一行:

validates_presence_of :first_name, :last_name

现在,当我使用omniauth场景时,这会起作用,我用它初始化我的User对象 new_with_session函数。但是当我尝试定期发送电子邮件时确认 注册 - 虽然我填写了必要的表单字段,但我得到验证错误 -

名字不能为空

姓氏不能为空

在omniauth场景中,我使用new_with_session代码:

    super.tap do |user|
                user.attributes = session["devise.user_data"]              
                user.password = params["password"]
                user.password_confirmation = params["password_confirmation"]
  • 预先填写注册表格并收到第一份&来自oauth提供商的姓氏。 在这种情况下,一切顺利,注册。

然而,我甚至尝试过删除第一个&此场景中表单字段的姓氏(new_with_session), 但注册仍然成功,没有提出验证问题。

我错过了什么?

我尝试完全注释掉new_with_session,甚至删除了omniauth模块, 但它仍然给我错误的验证错误。

例如,当我注册Facebook和new_with_session时,它可以正常工作。

这些是erb中的表单字段:

  <div><%= f.label :first_name %><br />
  <%= f.text_field :first_name, autofocus: true %></div>

  <div><%= f.label :last_name %><br />
  <%= f.text_field :last_name, autofocus: true %></div>

这是在firebug&amp; amp;中使用POST的屏幕截图浏览器中的问题:

enter image description here

0 个答案:

没有答案