ActiveAdmin登录页面

时间:2014-03-10 01:43:20

标签: ruby-on-rails ruby ruby-on-rails-4 devise activeadmin

我正在使用带有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

2 个答案:

答案 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