Rails My 4 ứng dụng có một tài khoản và và mô hình quản trị.phá hủy phiên quản trị dẫn đến http get yêu cầu ray 4
tôi đã thực hiện devise cho mô hình quản lý được tạo ra thông qua rails_admin đá quý. Vấn đề xảy ra khi tôi cố gắng để logout: ứng dụng chuyển hướng trong một trang bất ngờ và ghi lại cho thấy rằng nhận được yêu cầu tiếp tục được thực hiện, thay vì những DELETE.
nghiên cứu sau tôi đã đảm bảo rằng liên kết logout có phương pháp xóa quy định như sau
trong devise.rb các dấu hiệu ra được xác định bằng delete config.sign_out_via =: xóa
các tuyến đường được như sau
Mvc::Application.routes.draw do
resources :users
devise_for :admins
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
root "users#index"
end
tôi hoàn toàn có thể đăng nhập mà không vấn đề, nhưng khi yêu cầu đăng xuất được trả lại trong trình duyệt vào/quản trị viên/sign_out phiên vẫn còn hoạt động, và trang web vẫn hiển thị bảng điều khiển quản trị. Điều thú vị là đèn flash chương trình thông báo 'Mẫu 'S' không thể tìm được' và tôi thực sự bối rối bởi những gì nhật ký cho
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
Những gì tôi muốn đạt được điều đó khi logout được thực thi, phiên admin Đang bị hủy và quản trị viên được chuyển hướng đến root_path. Tôi lưu ý rằng hiện tại tôi chỉ có ứng dụng và bộ điều khiển người dùng và không có bộ điều khiển phiên. Từ những gì tôi hiểu được công cụ phát triển nên mang lại quản lý phiên ra khỏi hộp. Bất kỳ đề nghị, xin vui lòng?
Các: method =>: xóa chức năng bắt nguồn từ jquery_ujs. Có phải là hiện tại trong dự án của bạn? Bạn có thể cần phải thêm // = require jquery_ujs vào tệp application.js của mình –
RailsAdmin đang chiếm đoạt tuyến đường của bạn từ Devise, và sau đó vì nó không nhận ra '/ admins/sign_out', nó giải thích nó là'/admins /: id ', định tuyến đến phương thức Show, và cố gắng để phù hợp với một mô hình với một id của" sign_out ". Bạn sẽ cần phải tìm cách để giải quyết RailsAdmin và Devise để có được các tuyến đường hoạt động theo cách bạn cần. – Joseph
Cảm ơn Joseph có ý nghĩa, tôi sẽ tiếp tục đào theo hướng này. – user2313058