0

ユーザーがログインしたときに別のホームページをレンダリングしようとしていますが、Devise は同じページをレンダリングし続けます。これを変更することは可能ですか?ホームページのソース コードで直接実行できることはわかっていますが、それは長くて非効率的です。たとえば、ユーザーがログインしているかどうかを確認する方法は知っていますが、ログインしているときに別のビューをレンダリングするにはどうすればよいでしょうか?

4

1 に答える 1

1

after_sign_in_pathログインしたユーザーをログイン直後に特定のページに誘導するように を設定できます。

アプリケーションコントローラー:

def after_sign_in_path_for(resource)
  some_path
end

Devise はこれを自動的に尊重します。

詳細

ログインしているかどうかで異なるホームページの場合、root_urlログインしているユーザーをリダイレクトするようにアクションを設定するか、ビュー内のホームページへのリンクを変更できます。

1) コントローラーのリダイレクト (私の好み)

SomeController
  def home_page
    if current_user
      redirect_to account_path
    end
  end
end

2) またはビューで

<%= link_to 'Home', (current_user ? account_path : root_url) %>
于 2013-06-12T18:28:53.730 に答える