将活动管理员登录重定向到设计登录

Gag*_*ami 2 redirect ruby-on-rails devise ruby-on-rails-3 activeadmin

在我的应用程序中,我已经成功安装了Devise,并且效果很好。然后,我第一次安装了Active Admin for Admin面板并设置了路径。现在,当我尝试登录Active Admin时,localhost:3000/admin/login它会将我重定向到Devise的登录页面。我知道可能有愚蠢的错误,但不知道如何解决此问题?

app / config / initializers / active_admin.rb

ActiveAdmin.setup do |config|  #I have removed comments
 config.site_title = "Shopaholic"
 config.authentication_method = :authenticate_admin_user!
 config.current_user_method = :current_admin_user
 config.logout_link_path = :destroy_admin_user_session_path
 config.batch_actions = true
end
Run Code Online (Sandbox Code Playgroud)

app / config / initializers / devise.rb

Devise.setup do |config|
  config.secret_key = '28c01a5ccf820bb594d2b6421becfa6487df79dad52a57d49cf61f802ea00c7364215f43cdf87463503e658da69e182f8c35d668577f975fea2bdee736a5d20a'
  config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
  require 'devise/orm/active_record'
  config.authentication_keys = [ :email ]
  config.case_insensitive_keys = [ :email ]
  config.strip_whitespace_keys = [ :email ]
  config.skip_session_storage = [:http_auth]
  config.stretches = Rails.env.test? ? 1 : 10
  config.remember_for = 2.weeks
  config.password_length = 8..128
  config.reset_password_within = 6.hours
  config.default_scope = :users
  config.sign_out_via = :delete
end
Run Code Online (Sandbox Code Playgroud)

routes.rb

Shopaholic::Application.routes.draw do
  root :to => "products#products_list"
  #root to: "admin/dashboard#index"
  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)

  devise_for :users
  ActiveAdmin.routes(self)
end
Run Code Online (Sandbox Code Playgroud)

如果您需要任何其他信息,请告诉我我将进行更新。请帮助我解决这个问题。

小智 6

在你的

config/initializers/active_admin.rb
Run Code Online (Sandbox Code Playgroud)

将以下内容添加到设置块的底部

ActiveAdmin::BaseController.class_eval do
  skip_before_filter :authenticate_user!
end
Run Code Online (Sandbox Code Playgroud)

更新:在Rails 5.0和更高版本中,您将需要像这样添加它:

config.skip_before_action :authenticate_user!
Run Code Online (Sandbox Code Playgroud)