Active Adminは、アプリケーションで管理ダッシュボードを作成するために使用される gem です。ユーザーのログインに Devise を使用admin_user
し、管理者用に別のモデルを作成します。私のアプリケーションはすでにdeviseを使用しており、そのユーザーをuser
モデルとして持っています。アクティブな admin gem を使い始めて以来、routes ファイルの次の行は、ユーザーがログインしている場合でも、users#dashboard ではなく、home#index に解決され続けます。 #dashboard をルート URL として使用します。
root :to => 'users#dashboard', :constraints => lambda {|r| r.env["warden"].authenticate? }
root :to => 'home#index'
何が起こっているかというと.authenticate?
、admin_user
(Active Admin に属する) がログインしてuser
いるかどうかをチェックしていますが、チェックする必要があるモデルはチェックしていないため、アクティブな管理インターフェイスにログインすると、サイトのルートがユーザーになります。user
がログインしているかどうかを確認せずに、代わりに #dashboard を使用します。ログインしているかどうかを.authenticate?
確認するにはどうすればよいですか?user
admin_user
どんな助けや手がかりも大歓迎です