2011-01-29 5 views
3

새 사용자를 생성하기위한 양식을 작성한 후 (devise를 통해) 원하는 페이지로 리디렉션하도록 Rails 응용 프로그램을 구성하려면 어떻게해야합니까? 양식 제출 후 Devise override 리다이렉션

는 실제로 페이지에서 로그인 후입니다로 리디렉션되고 당신에게 만들어 사용자 양식이 너무 페이지에서 생성 한 사용자를 제출하고 다음 로그인 후

+1

적어도 제공되는 설명서를 읽으십시오. https://github.com/plataformatec/devise/wiki/How-To:- 리디렉션 --to-a-specific-page-on-successful-sign-in – apneadiving

답변

7

감사드립니다.

class Users::RegistrationsController < Devise::RegistrationsController 
    def create 
    session["#{resource_name}_return_to"] = some_custom_path 
    super 
    end 
end 

당신은 또한 리디렉션됩니다 routes.rb에 사용자 개체에 대한 루트 경로를 만들 수 있습니다 당신은이 페이지를 변경하려면 사용자는이 같은 사용자 정의 등록 컨트롤러에 session["#{resource_name}_return_to"]을 설정할 수 있습니다 생성 될 때 가 로그인 할 때마다 모든 사용자 :

match "user_root" => "users#home" 

마지막으로 당신은 당신의 application_controller에 after_sign_in_path_for(resource_or_scope) 방법을 정의 할 수 있으며, 이것은 당신이 조건부로 사용자 리디렉션 할 수 있습니다 :

def after_sign_in_path_for(resource_or_scope) 
    if resource_or_scope.is_a?(User) 
    some_custom_path  
    else 
    super 
    end 
end 
을3210
관련 문제