私はRails 3とDeviseを使ってユーザーがWebサイトにアクセスし、ログインフォームとサインアップフォームを含むホームページを表示するアプリケーションを作成しています。このページには、独自のコントローラ(「ホームページ」)を持っているので、ルートは、私は、ユーザーがすでにログインしている場合は、別のホームページを表示したいRails 3 with Devise:ユーザーが認証されているかどうかに基づいて2つの別個のホームページを設定する方法は?
root :to => "homepage#index"
あるのです。これは
root :to => "dashboard#index"
へのルートポイントを有することに会計処理します
routes.rbに条件付きルートを設定する方法はありますか?そうすれば、ユーザーがそれらのホームページにルーティングする前に認証されているかどうかを確認できますか?
次のコードを使用してみましたが、ログインしていない場合は、ログインするように求められます。最初のルートのみが動作するようにしてください。
authenticate :user do
root :to => "dashboard#index"
end
root :to => "homepage#index"
www.example.com/dashboard/indexとwww.example.com/homepage/indexがに表示されたことがないように、また、私は、URLが両方のケースでwww.example.comを指すようにしたいですブラウザ。
ありがとうございます。あなたにHomeControllerで
ありがとう@ブラッドリー、これは私を殺していた:) –
私は同じことをやっているが、ログインしたユーザーとログインしていないユーザーの両方がダッシュボード#index –
警告:これはRails 4ではうまくいきません: '無効なルート名、すでに使用中: 'root'' – Happynoff