Rails_Admin退出不重定向(设计)

时间:2015-07-12 13:34:15

标签: ruby-on-rails api authentication devise rails-admin

我们在应用程序中使用Devise,Rails_Admin和Simple_Token_Authentication(用于API)。

除了退出外,一切正常。当我们点击退出时,会发出以下请求并且用户已退出。

  

在2015-07-12 18:50:44为127.0.0.1开始删除“/ admins / sign_out”   +0530由Devise处理:: SessionsController#destroy作为HTML参数:   { “authenticity_token”=> “中rtSRPzpRN7cWEk8wV8q6VDAUB575ZV46JeFFlMFVOQc =”}   Admin Load(0.4ms)SELECT“admins”。* FROM“admins”WHERE   “admins”。“id”= 1 ORDER BY“admins”。“id”ASC LIMIT 1(0.1ms)   begin transaction(0.1ms)commit transaction已完成204否   内容700毫秒(ActiveRecord:0.5毫秒)

问题是退出后页面没有重定向。

再次按下退出按钮,这是请求:

  

在2015-07-12 19:01:59为127.0.0.1开始删除“/ admins / sign_out”   +0530由Devise处理:: SessionsController#destroy作为HTML参数:   { “authenticity_token”=> “中dHuxA5hRosyquhlsRmchK3vW9bQOCM / YXYXUNMxTufc =”}   过滤器链暂停为:verify_signed_out_user呈现或重定向   完成204无内容1ms(ActiveRecord:0.0ms)

这是应用程序控制器(app / controllers / application_controller.rb):

class ApplicationController < ActionController::Base

  protect_from_forgery

  skip_before_filter :verify_signed_out_user

  respond_to :html, :json

  protected

  # Overwriting the sign_out redirect path method   
  def after_sign_out_path_for(resource_or_scope)        
   request.referrer   
  end 
end

以下是app / config / initializers / rails_admin.rb

中与设计相关的代码
config.authenticate_with do   
  warden.authenticate! scope: :admin   
end
config.current_user_method(&:current_admin)

请建议。提前谢谢!

1 个答案:

答案 0 :(得分:1)

问题出在您的after_sign_out_path_for(resource_or_scope)

request.referrer重定向到 当前页面

相应地更改after_sign_out_path_for(resource_or_scope)。如果您想 重定向 root_path,那么下面就可以了。

def after_sign_out_path_for(resource_or_scope)        
   root_path   
end