销毁管理员会话导致http获取请求rails 4

时间:2014-12-03 23:26:38

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

My Rails 4应用程序具有User and and Admin模型。

我已经为通过rails_admin gem创建的Admin模型实现了设计。当我尝试注销时会出现问题:应用程序在意外页面中重定向,日志显示GET请求仍在继续,而不是DELETE请求。

经过研究,我确保注销链接具有如下指定的删除方法     

  • <%= link_to“管理员注销”,destroy_admin_session_path,:method => :删除%>
  • 在devise.rb中,通过删除指定注销     config.sign_out_via =:删除

    路线如下

    Mvc::Application.routes.draw do
      resources :users
      devise_for :admins
      mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
    root "users#index"
    end
    

    我完全能够毫无问题地登录,但当注销请求在浏览器中呈现到/ admins / sign_out时,会话仍处于活动状态,页面仍显示管理仪表板。有趣的是,flash消息显示'模型'S'无法找到',我真的对日志显示的内容感到困惑

    Started GET "/admins/sign_out" for 127.0.0.1 at 2014-12-03 23:10:50 +0000
    Processing by RailsAdmin::MainController#show as HTML
    Parameters: {"model_name"=>"s", "id"=>"sign_out"}
    [RailsAdmin] Could not load model S, assuming model is non existing. (uninitialized constant S)
    
    
    Gemfile
    source 'https://rubygems.org'
    
    gem 'rails', '4.0.3'
    gem 'sqlite3'
    gem 'bootstrap-sass', '~> 3.3.1'
    gem 'uglifier', '>= 1.3.0'
    gem 'jquery-rails'
    gem 'turbolinks'
    gem 'jbuilder', '~> 1.2'
    gem 'simple_form'
    gem 'bcrypt-ruby'
    gem 'devise'
    gem 'rails_admin'
    
    
    group :assets do
     gem 'sass-rails', '~> 4.0.0' 
     gem 'coffee-rails', '~> 4.0.0'
     gem 'uglifier', '>= 1.3.0'
    
    end
    
    group :doc do
    
     gem 'sdoc', require: false
    end
    
    group :development do
     gem 'better_errors', '~> 2.0.0'
    end
    

    我想要实现的是,当执行注销时,管理会话被销毁,管理员被重定向到root_path。我注意到我目前只有应用程序和用户控制器,没有会话控制器。根据我的理解,设计引擎应该开启会话管理。有什么建议吗?

    0 个答案:

    没有答案