2

重複の可能性:
ユーザーが認証されているかどうかに応じて、ユーザーの「/」ルートパスが異なる(デバイスを使用)
アクティブ管理者認証がユーザー認証と競合している

私は最近 Rails 3.1 にアップグレードし、devise を使用してユーザーを認証しています。

ユーザーがログインしていないときにルートが home#index に移動するようにルートを設定したいと思います。そこからユーザーはログイン リンクをクリックして別のログイン ページに移動できますが、ユーザーがすでにログインしている場合、ルートはユーザーを user#dashboard に移動します。

実際、この機能は以前に私のアプリケーションで既に機能していましたが、rails 3,1 にアップグレードした後 (また、devise を使用するアクティブな管理者をインストールした後)、これは途中で機能しなくなり、別の機能があるかどうか疑問に思っています。これについてどうするか、構文を更新する必要があるかもしれません。これは私のルートファイルが現時点で持っているものです

root :to => 'users#dashboard', :constraints => lambda {|r| r.env["warden"].authenticate? }
root :to => 'home#index'
get "/" => 'users#dashboard', :as => "user_root"

今のところ、いつも家に連れて行ってくれます#index

アップデート

Active Admin とそれが Devise を使用しているために、実際にこの問題が発生しているようです。アクティブな管理者インターフェイスにログインすると、アプリは、アクティブな管理者がログインしている場合はすべてのユーザーをダッシュ​​ボードに、アクティブな管理者がログアウトしている場合はすべてのユーザーをホーム#インデックスに移動しようとするなどの動作に影響します。ユーザー自体がログインしているかどうか。

ログインしている一般ユーザーに影響を与えないように、アクティブ管理者のログイン管理者を取得する方法を知っている人はいますか。アクティブ管理者は、私の「ユーザー」モデルとは別のユーザーとして「管理者」を既に使用しています。

4

0 に答える 0