使用設計和自定義路由,只要用戶登錄嘗試失敗(錯誤傳遞),Rails就不會重定向回登錄頁面。如果我不使用自定義路線,那麼它工作正常。我在這裏做錯了什麼?設計不重定向到用自定義路由進行無效嘗試的登錄頁面
目標:我想用/登入,而不是/用戶/ sign_in
的routes.rb:
devise_for :users, :controllers => { :sessions => "user_sessions" },:skip => [:sessions] do
get 'signin' => 'user_sessions#new', :as => :new_user_session
post 'signin' => 'user_sessions#create', :as => :user_session
delete 'signout' => 'user_sessions#destroy', :as => :destroy_user_session
get 'signout' => 'user_sessions#destroy', :as => :destroy_user_session
end
內UserSessionsController /創建:
resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
服務器輸出使用定製時路線/登錄:
Completed 401 Unauthorized in 2ms
服務器輸出使用時默認路由/用戶/ sign_in:
Completed 401 Unauthorized in 2ms
Processing by UserSessionsController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"2gqKTGWPv69HpVp7oSEg2tRDj5FU453my7LhKm0xu7E=", "user"=>{"email"=>"", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"SIGN IN"}
Rendered user_sessions/new.html.erb within layouts/user_sessions (56.6ms)
你到底了嗎? – 2012-06-04 22:53:13