My Rails 4应用程序具有User and and Admin模型。
我已经为通过rails_admin gem创建的Admin模型实现了设计。当我尝试注销时会出现问题:应用程序在意外页面中重定向,日志显示GET请求仍在继续,而不是DELETE请求。
经过研究,我确保注销链接具有如下指定的删除方法
在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。我注意到我目前只有应用程序和用户控制器,没有会话控制器。根据我的理解,设计引擎应该开启会话管理。有什么建议吗?