2014-12-03 12 views
5

My Rails 4 uygulamasının bir Kullanıcı ve Yönetici modeli vardır., http istek istek rayları ile sonuçlanan yönetici oturumunu yok eder. 4

Rails_admin gem ile oluşturulan Admin modeli için uygulama geliştirdim. Sorun çıkmayı denediğimde sorun oluşuyor: Uygulama beklenmedik bir sayfada yeniden yönlendiriliyor ve günlükler GET isteklerinin DELETE olanlar yerine yapılmaya devam ettiğini gösteriyor.

takiben araştırma ben çıkış bağlantısını = link_to "Yönetici çıkış"

  • <% aşağıdaki gibi belirtilen silme yöntemi olduğunu sağladık, destroy_admin_session_path: method =>: devise.rb silmek%>
  • işareti dışarı silme config.sign_out_via = aracılığıyla belirtilir: rotalar izler olarak

    silmek

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

    Kusursuz bir şekilde giriş yapabildiğim, ancak tarayıcıdaki/oturum açma/oturum açma işleminde oturum kapatma isteği görüntülendiğinde, oturum hala etkin durumda ve sayfa hala yönetici kontrol panelini gösteriyor. İlginçtir flaş mesajı gösteriyor 'Model 'S' bulunamadı' ve gerçekten neyi günlükleri tarafından şaşkın çıkış yapılmadan zaman

    , yönetici seansı Ne elde etmek istiyorum edilir

    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 
    
    gösteriyor yok edildi ve yönetici root_path'a yönlendirildi. Şu anda sadece uygulama ve kullanıcı denetleyicisine sahip olduğumu ve oturum denetleyicisinin olmadığını not aldım. Anladığım kadarıyla düzenleme motoru, oturum yönetimini kutudan çıkarmalı. Herhangi bir öneri, lütfen?

    +0

    aşağıdaki kod parçacığını eklemeyi deneyin işlevsellik jquery_ujs geliyor silin. Bu projende var mı? // = jquery_ujs dosyasını application.js dosyanıza eklemeniz gerekebilir –

    +2

    RailsAdmin rotanızı Devise'den kaçırıyor ve daha sonra '/ admins/sign_out' tanımadığı için '/ admins /: id olarak yorumluyor. ', Show yöntemine yönlendirmek ve bir modeli "sign_out" kimliğiyle eşleştirmeye çalışmak. RailsAdmin ve Devise’yi, ihtiyaç duyduğunuz şekilde çalıştıracak rotaları çözmek için bir yol bulmanız gerekecektir. – Joseph

    +0

    Teşekkürler Joseph bu mantıklı, bu yönde kazmaya devam edeceğim. – user2313058

    cevap

    -1

    Uygulama düzeni dosyasını kullanmadığınız anlaşılıyor. method =>: Yani html dosyası

    <head> 
     
        <title>Training</title> 
     
        <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
     
        <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
     
        <%= csrf_meta_tags %> 
     
    </head>

    İlgili konular