簡體   English   中英

設計注冊無效的電子郵件或密碼錯誤

[英]Devise Sign Up Invalid Email or Password Error

我目前正在測試我的Devise實施-除“注冊”表格外,其他所有程序都運行良好。

Flash訊息錯誤:

無效的電子郵件或密碼。

然后,我被定向到“登錄”表單。

不知道我要去哪里錯了。

注冊表格:

<h2>Sign Up</h2>
<%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class => 'form-vertical' }) do |f| %>
  <%= f.error_notification %>
  <%= f.input :name, :autofocus => true %>
  <%= f.input :email, :required => true %>
  <%= f.input :password, :required => true %>
  <%= f.input :password_confirmation, :required => true %>
  <%= f.button :submit, 'Sign up', :class => 'button' %>
<% end %>
<% render 'devise/shared/links' %>

路線:

authenticated :user do
    root :to => 'home#index'
  end

  devise_for :users

  resources :users

  root :to => 'home#index'

  resources :songs

  get 'home/index'

  match 'home/about', :to => 'home#about'

  match 'home/contact', :to => 'home#contact'

Rails服務器:

Started POST "/users/sign_in" for 127.0.0.1 at 2013-03-01 16:42:47 +1000
Processing by Devise::SessionsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"DxwF+dMC//5UIX5beKhzaBLjnB2xaJe7pQb/C3xNK1k=", "user"=>{"name"=>"test", "email"=>"asdfas@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."email" = 'asdfas@gmail.com' LIMIT 1
Completed 401 Unauthorized in 2ms
Processing by Devise::SessionsController#new as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"DxwF+dMC//5UIX5beKhzaBLjnB2xaJe7pQb/C3xNK1k=", "user"=>{"name"=>"test", "email"=>"asdfas@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
  Rendered /Users/thmsmxwll/.rvm/gems/ruby-1.9.3-p194/gems/devise-2.2.3/app/views/devise/shared/_links.erb (0.4ms)
  Rendered devise/sessions/new.html.erb within layouts/application (7.5ms)
  Rendered layouts/_navigation.html.erb (0.5ms)
  Rendered layouts/_messages.html.erb (0.1ms)
  Rendered layouts/_footer.html.erb (0.0ms)
Completed 200 OK in 104ms (Views: 19.1ms | ActiveRecord: 0.0ms)

這是由於表單幫助程序中的網址錯誤,只需將其替換為,

 <%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:class => 'form-vertical' }) do |f| %>

要進行注冊,URL必須是registration_path而不是session_path。

您的注冊路徑錯誤。

您正在注冊,但是Rails服務器的處理是:

Processing by Devise::SessionsController#create as HTML

上面的行表明該設備正在以某種方式嘗試為用戶創建登錄會話,而不是為注冊創建會話。

因此,Rails正在尋找帶有email" = 'asdfas@gmail.comemail" = 'asdfas@gmail.com ,由於您正在注冊,因此數據庫中尚不存在該行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM