2011-01-29 10 views
3

新しいユーザーを作成するフォームを投稿してから(私が自分の望むページにリダイレクトする)ようにRailsアプリケーションを設定するにはどうすればよいですか?作成ユーザーフォームは、ユーザーが作成され提出し、そのようにあなたがにリダイレクトされているページは、ページ内のログの後に実際にログインした後フォーム提出後にリビルドのオーバーライドを変更する

はあなたに

+1

少なくとも、提供されているドキュメントをお読みください:https://github.com/plataformatec/devise/wiki/How-To:-リダイレクト--to-a-specific-page-on-successful-sign-in – apneadiving

答えて

7

ありがとうございます。あなただけのユーザーが作成されたときにこのようなカスタム登録コントローラにsession["#{resource_name}_return_to"]を設定することができ、このページを変更したい場合:

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

また、リダイレクトれるroutes.rbをして、ユーザーオブジェクトのルートルートを作成することができます彼らは、ログインするたびにすべてのユーザーが:

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 
関連する問題