2016-08-11 2 views
1

私は究極の練習用のソーシャルネットワークを構築しようとしています。電子メールでログインできるようにします。ユーザーが確認メールリンクを使用して最初の時間にログインしたときに特定のページに移動する方法

私の問題: 初めてログインするときにユーザーがフォームに記入してもらいたい。これは確認メールのリンクをクリックすると初めて発生します。

他のすべての時間は、別のページに移動します。

どうすればいいですか?

答えて

1

この機能を有効にするには、devise確認メソッドafter_confirmation_path_forをオーバーライドします。

class ConfirmationsController < Devise::ConfirmationsController 

    private 

    def after_confirmation_path_for(resource_name, resource) 
    your_new_after_confirmation_path 
    end 

end 

devitsがカスタムコントローラを使用するように、routes.rbに以下の行を追加してください。

devise_for :users, controllers: { confirmations: 'confirmations' } 

次に、サーバーを再起動します。

+0

ありがとうございます。私もApplicationsController.rbでafter_sign_in_path_for(リソース)を使用していました。だから私の質問です:いつ私は確認コントローラなどのカスタムコントローラを使用する必要がありますか? –

関連する問題