2013-04-07 3 views
4

Devise의 가입 및 암호보기에 오류가 발생하면 부모 페이지로 리디렉션됩니다.오류 후 Devise 리디렉션

그래서 가입 페이지 (/users/sign_up)에서 오류가 발생하면/users로 리디렉션되고 오류가 표시됩니다.

비밀번호 찾기 페이지 (/users/password/new)에서 오류가 발생하면 /users/password으로 리디렉션되고 오류가 표시됩니다.

로그인 페이지와 동일한 작업을 수행하도록 변경하려면 어떻게해야합니까? 오류가있는 경우 동일한 페이지에 있으며 오류가 표시됩니다.

나는 Devise를 살펴본 결과 리디렉션의 위치를 ​​찾을 수 없습니다.

여기 고안 내 경로입니다 :

devise_for :users, :skip => [:sessions] 
as :user do 
    get 'signin' => 'devise/sessions#new', :as => :new_user_session 
    post 'signin' => 'devise/sessions#create', :as => :user_session 
    get 'signup' => 'devise/registrations#new', :as => :new_user 
    post 'signup' => 'devise/registrations#create', :as => :create_user_session 
    delete 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session 
    get "/account" => "devise/registrations#edit" 
end 

답변

-2

그것은 어디 리디렉션하지 않는 사람들은에 게시물을 고안 URL이 있습니다.

당신이 이러한 URL을 편집 좋은 출발점에 대한 위키보고 싶다면 : 나는 문제가 당신이 post 'signup' 잘못이라는 있다고 생각 https://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes

+0

을 클릭 정보를 추가하지 않고 가입하면/users로 리디렉션됩니다. – user2203362

+0

그냥/signup이고 오류가있는 경우 해당 페이지에 표시하기를 원합니다. – user2203362

+0

아니요'/ users'는 양식이 게시하는 경로입니다. https://github.com/plataformatec/devise/blob/master/app/views/devise/registrations/new.html.erb를 참조하십시오. – sevenseacat

3

합니다. 귀하의 사용자 가입 양식은 어떤 경로로 POST에 있습니까? 여기

post 'signup' => 'devise/registrations#create', :as => :user_registration 

이 문제 해결 내 routes.rb 살펴입니다 :

post 'signup' => 'devise/registrations#create', :as => :create_user_session 

이 될해야 당신이 가입 페이지 (/ 사용자/sign_up)에 가면

as :user do 
    get "/signin" => "devise/sessions#new", :as => :new_user_session 
    post "/signin" => "devise/sessions#create", :as => :user_session 
    delete "/signout" => "devise/sessions#destroy", :as => :destroy_user_session 
    get "/signup" => "devise/registrations#new", :as => :new_user_registration 
    post '/signup' => 'devise/registrations#create', :as => :user_registration 
end 
관련 문제