gpt4 book ai didi

ruby-on-rails - 即使电子邮件不是空白,设计也会给我一个 'email cannot be blank' 错误

转载 作者:行者123 更新时间:2023-12-04 03:36:36 24 4
gpt4 key购买 nike

我在 Devise 的用户注册中做了两件事。

  1. Two step confirmation - 所有用户需要做的就是首先输入他们的电子邮件地址。
  2. 我已将注册/新表格移动到我的 welcome#index View 。

即使我正确输入了电子邮件地址,我也看到它包含在日志的 params 哈希中:

Started POST "/users" for 127.0.0.1 at 2012-06-05 20:35:43 -0500
Processing by Devise::RegistrationsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"0qWg/RxG+XyDqdsdadww=", "email"=>"abc@test.com", "commit"=>"Sign Me Up!"}
(0.1ms) begin transaction
User Exists (0.2ms) SELECT 1 FROM "users" WHERE LOWER("users"."email") = LOWER('') LIMIT 1
(0.1ms) rollback transaction
Rendered devise/registrations/new.html.erb within layouts/application (9.2ms)
Completed 200 OK in 65ms (Views: 54.9ms | ActiveRecord: 0.0ms)

这是我遇到的错误:

1 error prohibited this user from being saved:
Email can't be blank

我的初始注册表如下所示:

<%= form_for(resource, :as => resource_name, :class => "send-with-ajax", :url => user_registration_path(resource)) do |f| %>
<%= devise_error_messages! %>
<%= f.email_field :email, :name => :email, :id => "form-email", :placeholder => "your-email@address.com", :input_html => {:autofocus => true} %>
<%= f.submit :label => "Submit", :value => "Sign Me Up!" %>
<% end %>

谢谢。

最佳答案

可能的解释:

您的电子邮件字段在 params 散列中作为 params[:email],而您在 Controller 中的创建操作可能期望它在 params[:资源][:电子邮件]。当您删除 :name => :email 分配时,电子邮件将移回 params[:resource][:email]

您已发布此哈希:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"0qWg/RxG+XyDqdsdadww=", "email"=>"abc@test.com", "commit"=>"Sign Me Up!"}

你能看出它在工作时的样子有什么不同吗?

关于ruby-on-rails - 即使电子邮件不是空白,设计也会给我一个 'email cannot be blank' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com