【问题标题】:Redirect after signing out of ActiveAdmin退出 ActiveAdmin 后重定向
【发布时间】:2012-06-07 15:36:57
【问题描述】:

我正在尝试将用户重定向到我的 root_path,即 / 并允许未经身份验证的用户使用,但我似乎无法更改 active admin 的默认行为。

我知道active admin 使用devise 作为身份验证机制,但我也无法覆盖devise 的默认值。

我在application_controller.rb 中尝试了以下操作(即使它应该是默认设置):

# Overwriting the sign_out redirect path method
def after_sign_out_path_for(resource_or_scope)
  root_path
end

但我仍然在我的日志中看到这一点:

Started GET "/admin/logout?locale=fr" for 127.0.0.1 at 2012-06-07 11:30:15 -0400
  Processing by ActiveAdmin::Devise::SessionsController#destroy as HTML
  Parameters: {"locale"=>"fr"}
  AdminUser Load (0.4ms)  SELECT `admin_users`.* FROM `admin_users` WHERE `admin_users`.`id` = 1 LIMIT 1
   (0.1ms)  BEGIN
   (0.3ms)  UPDATE `admin_users` SET `remember_created_at` = NULL, `updated_at` = '2012-06-07 15:30:15' WHERE `admin_users`.`id` = 1
   (0.5ms)  COMMIT
Redirected to http://localhost:3000/admin
Completed 302 Found in 47ms

所以它让我回到登录页面。

【问题讨论】:

    标签: ruby-on-rails devise activeadmin


    【解决方案1】:

    Fivell 的回答有点不正确,因为登录也被重定向到 root_path。更好的是,您可以覆盖特定的 Devise 方法:

    ActiveAdmin::Devise::SessionsController.class_eval do
      def after_sign_out_path_for(resource_or_scope)
        "/wherever-you-want"
      end
    end
    

    【讨论】:

      【解决方案2】:

      我为此做了一个猴子补丁

      module ActiveAdmin::Devise::Controller
      
            def root_path
              "/"  #add your logic
            end
      end
      

      将此添加到初始化程序,它必须在注销后强制重定向到根 url。

      【讨论】:

        【解决方案3】:

        这对我有用

        # in app/admin/override.rb
        ActiveAdmin::Devise::SessionsController.class_eval do
          def after_sign_in_path_for(resource)
            admin_dashboard_path
          end
        
          def root_path
            "/"  #add your logic
          end
        
          def after_sign_out_path_for(resource_or_scope)
            root_path
          end
        end
        

        【讨论】:

          猜你喜欢
          • 2016-10-06
          • 1970-01-01
          • 2015-11-17
          • 1970-01-01
          • 2015-09-08
          • 1970-01-01
          • 2012-10-26
          • 2015-09-30
          • 1970-01-01
          相关资源
          最近更新 更多