2


0

アクティブ管理者がDeviseでログインしたユーザーとログアウトしたユーザーに異なる「ルート」を持つ問題を引き起こす

_ 可能な重複: + https://stackoverflow.com/questions/5725094/different-root-path-for-users-depending-if-they-are-authenticated-using-devi [ユーザーの異なる「/」ルートパス(deviseを使用して)認証されているかどうかによって異なります] + Active Admin認証がユーザー認証と競合しています _

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

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

実際、この機能は以前私のアプリケーションですでに機能していましたが、rails 3,1にアップグレードした後(また、アクティブな管理者をインストールします。これを実行する方法、またはおそらく構文を更新する必要があります。 これは私のルートファイルが現在持っているものです

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を使用しているという事実により、この問題が発生しているようです。 アクティブな管理者インターフェイスにログインすると、アクティブな管理者がログインしている場合はアプリがすべてのユーザーをダッシュ​​ボードに、アクティブな管理者がログアウトしている場合はhome#indexにすべてのユーザーを連れて行こうとします。ユーザー自身がログインしているかどうか。

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

0 回答