我正在使用带有activeadmin的第一个rails应用程序,我正在努力将devise作为身份验证机制。目前,当用户未经过身份验证时,它将重定向到默认设计登录页面。
我希望默认使用活动的管理员登录页面,以使外观相同。问题是我没有看到活动的管理员登录页面。这样的页面是否存在?
看看这个rails cast:http://railscasts.com/episodes/284-active-admin?view=asciicast他们在localhost:3000/admin/login
显示了一个登录页面,但这给了我一个404.
有没有人知道是否有activeadmin登录页面以及我如何使用它?
$ rake routes
Prefix Verb URI Pattern Controller#Action
root GET / admin/dashboard#index
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
admin_root GET /admin(.:format) admin/dashboard#index
admin_dashboard GET /admin/dashboard(.:format) admin/dashboard#index
batch_action_admin_estimates POST /admin/estimates/batch_action(.:format) admin/estimates#batch_action
admin_estimates GET /admin/estimates(.:format) admin/estimates#index
POST /admin/estimates(.:format) admin/estimates#create
new_admin_estimate GET /admin/estimates/new(.:format) admin/estimates#new
edit_admin_estimate GET /admin/estimates/:id/edit(.:format) admin/estimates#edit
admin_estimate GET /admin/estimates/:id(.:format) admin/estimates#show
PATCH /admin/estimates/:id(.:format) admin/estimates#update
PUT /admin/estimates/:id(.:format) admin/estimates#update
DELETE /admin/estimates/:id(.:format) admin/estimates#destroy
batch_action_admin_users POST /admin/users/batch_action(.:format) admin/users#batch_action
admin_users GET /admin/users(.:format) admin/users#index
POST /admin/users(.:format) admin/users#create
new_admin_user GET /admin/users/new(.:format) admin/users#new
edit_admin_user GET /admin/users/:id/edit(.:format) admin/users#edit
admin_user GET /admin/users/:id(.:format) admin/users#show
PATCH /admin/users/:id(.:format) admin/users#update
PUT /admin/users/:id(.:format) admin/users#update
DELETE /admin/users/:id(.:format) admin/users#destroy
的routes.rb
Myapp::Application.routes.draw do
root :to => "admin/dashboard#index"
devise_for :users
ActiveAdmin.routes(self)
end
我正在使用activeadmin的1.0.0.pre版本。
Gemfile行:
gem 'activeadmin', github: 'gregbell/active_admin' # Need to point at this github repo for rails 4 compat. See answer from paulcarvill here: https://github.com/gregbell/active_admin/issues/1963
答案 0 :(得分:2)
我需要修改我的路线文件:
devise_for :users
到此:
devise_for :users, ActiveAdmin::Devise.config
注意:订单很重要
# this works
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
# this won't work
ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
否则,当您点击active-admin
时,您的admin/login
登录信息将不会显示,但会显示正常登录信息(如果您有两种模式的设置设置)。
答案 1 :(得分:0)
要在Active Admin中使用Devise身份验证功能,您必须使用Active Admin生成您的用户模型:
http://activeadmin.info/docs/0-installation.html#initialize_active_admin
如果您自己在应用程序中实现Devise的功能,则必须修改Active Admin中的身份验证设置:
http://activeadmin.info/docs/1-general-configuration.html#authentication