Ruby on Rails Devise-无法注销

aishaq11

我对Rails(v4.0.0)和Devise(v3.5.2)上的Ruby(v2.0.0)有点陌生,并且由于某种原因,一旦注册后就无法退出。但是,如果我手动进入MySQL2数据库并完全删除用户,则“注册/登录”页面将再次变为可用。

我没有触摸过session_store.rb初始化程序或其他任何东西。我身处困境,需要先解决此问题,然后才能继续前进。

非常感谢您的帮助。

我的“注册”表单的逻辑非常简单:

<% if user_signed_in? %>
    <%= current_user.email %> / <%= link_to "Sign Out", destroy_user_session_path, method: :delete %>
<% else %>
    <%= link_to "Sign Up", new_user_registration_path %> / <%= link_to "Log In", new_user_session_path %>
<% end %> 

我的devise.rb文件还配置为使用:delete:

config.sign_out_via = :delete

我的Gemfile中JQuery

# jQuery
gem 'jquery-rails'
gem 'jquery-ui-rails'

我在application.js中初始化了它们

//= require jquery
//= require jquery_ujs
//= require jquery.ui.all
//= require jquery.details
//= require jquery.textchange

我的route.rb已正确配置(注释掉的“ #devise_for:users”表明我已经尝试了两种方法,但均无效果):

Selfstarter::Application.routes.draw do
root :to => 'home#index'
  #devise_for :users
  devise_for :users do
  get '/users/sign_out' => 'devise/sessions#destroy'
  end
...
end

我的耙路反映出:

                  Prefix Verb     URI Pattern                     Controller#Action
                    root GET      /                               home#index
        new_user_session GET      /users/sign_in(.:format)        devise/sessions#new
            user_session POST     /users/sign_in(.:format)        devise/sessions#create
    destroy_user_session DELETE   /users/sign_out(.:format)       devise/sessions#destroy
           user_password POST     /users/password(.:format)       devise/passwords#create
       new_user_password GET      /users/password/new(.:format)   devise/passwords#new
      edit_user_password GET      /users/password/edit(.:format)  devise/passwords#edit
                         PATCH    /users/password(.:format)       devise/passwords#update
                         PUT      /users/password(.:format)       devise/passwords#update
cancel_user_registration GET      /users/cancel(.:format)         devise/registrations#cancel
       user_registration POST     /users(.:format)                devise/registrations#create
   new_user_registration GET      /users/sign_up(.:format)        devise/registrations#new
  edit_user_registration GET      /users/edit(.:format)           devise/registrations#edit
                         PATCH    /users(.:format)                devise/registrations#update
                         PUT      /users(.:format)                devise/registrations#update
                         DELETE   /users(.:format)                devise/registrations#destroy

user.rb型号:

class User < ActiveRecord::Base
  has_many :orders
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
end

万一需要它,请使用database.rb

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: dbname
  pool: 5
  username: dbusername
  password: dbpass
  #socket: /opt/local/var/run/mysql5/mysqld.sock

我不知道下一步该怎么做,并搜寻了Google和Stack Overflow。我什么都没找到。

我还要提及的是,我真的很想遵守RESTful约定,并且尽可能不要使用:get方法。

编辑:我的日志文件

Started DELETE "/users/sign_out" for 127.0.0.1 at 2015-08-21 11:28:17 -0400
Started DELETE "/users/sign_out" for 127.0.0.1 at 2015-08-21 11:28:17 -0400
Processing by Devise::SessionsController#destroy as HTML
Processing by Devise::SessionsController#destroy as HTML
  User Load (3.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 ORDER BY `users`.`id` ASC LIMIT 1
  User Load (3.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 ORDER BY `users`.`id` ASC LIMIT 1
Can't verify CSRF token authenticity
Can't verify CSRF token authenticity
   (1.0ms)  BEGIN
   (1.0ms)  BEGIN
   (1.0ms)  COMMIT
   (1.0ms)  COMMIT
Redirected to http://localhost:3000/
Redirected to http://localhost:3000/
Completed 302 Found in 66ms (ActiveRecord: 5.0ms)
Completed 302 Found in 66ms (ActiveRecord: 5.0ms)
aishaq11

我终于找到了解决方案。我只需要在<%= csrf_meta_tags %>我的application.html.erb标头标签中添加它,就可以像一个魅力一样工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有Devise on Rails 3的注销链接

来自分类Dev

Devise注销链接问题(Rails4)

来自分类Dev

Devise注销链接问题(Rails4)

来自分类Dev

带有Devise on Rails 3的注销链接

来自分类Dev

Ruby on Rails Devise确认令牌为零

来自分类Dev

Ruby on Rails Devise编辑注册路由错误

来自分类Dev

Ruby on Rails:通过Devise获得路线

来自分类Dev

如何使用Devise in Rails4测试登录/注销用户

来自分类Dev

带有Devise的Rails 3.2:注销链接停止工作

来自分类Dev

Rails / Devise:优雅地要求用户登录已注销的创建

来自分类Dev

无法在Ruby on Rails中将自定义字段添加到Devise模型中。私人方法错误

来自分类Dev

Devise-Rails 4-无法登录

来自分类Dev

Rails,Devise,Validableable无法正常工作?

来自分类Dev

Rails,Devise无法使用cURL进行登出。

来自分类Dev

无法在Rails中覆盖Devise :: RegistrationsController?

来自分类Dev

无法在MinGW的rails 4上安装devise

来自分类Dev

Rails,Devise无法使用cURL进行登出。

来自分类Dev

Rails:无法使用Devise登录用户

来自分类Dev

Redis和Devise的Rails无法正常工作

来自分类Dev

通过devise在Ruby on Rails中创建用户帐户设置页面

来自分类Dev

Rails 4 Ruby 2.00 Devise migration on existing User Model fails

来自分类Dev

Ruby on Rails 4,Devise和个人资料页面

来自分类Dev

Ruby / Rails:抑制超类函数-Stripe和Devise的集成

来自分类Dev

Ruby on Rails中具有Devise的Facebook OAuth

来自分类Dev

使用ldap在Rails上使用devise ruby连接到广告

来自分类Dev

带有Office 365的Ruby Rails Devise和SAML

来自分类Dev

使用Ruby on Rails Devise Gem向用户名注册

来自分类Dev

登录后使用Ruby on Rails使用Devise后输入的页面

来自分类Dev

使用ldap在Rails上使用devise ruby连接到广告

Related 相关文章

  1. 1

    带有Devise on Rails 3的注销链接

  2. 2

    Devise注销链接问题(Rails4)

  3. 3

    Devise注销链接问题(Rails4)

  4. 4

    带有Devise on Rails 3的注销链接

  5. 5

    Ruby on Rails Devise确认令牌为零

  6. 6

    Ruby on Rails Devise编辑注册路由错误

  7. 7

    Ruby on Rails:通过Devise获得路线

  8. 8

    如何使用Devise in Rails4测试登录/注销用户

  9. 9

    带有Devise的Rails 3.2:注销链接停止工作

  10. 10

    Rails / Devise:优雅地要求用户登录已注销的创建

  11. 11

    无法在Ruby on Rails中将自定义字段添加到Devise模型中。私人方法错误

  12. 12

    Devise-Rails 4-无法登录

  13. 13

    Rails,Devise,Validableable无法正常工作?

  14. 14

    Rails,Devise无法使用cURL进行登出。

  15. 15

    无法在Rails中覆盖Devise :: RegistrationsController?

  16. 16

    无法在MinGW的rails 4上安装devise

  17. 17

    Rails,Devise无法使用cURL进行登出。

  18. 18

    Rails:无法使用Devise登录用户

  19. 19

    Redis和Devise的Rails无法正常工作

  20. 20

    通过devise在Ruby on Rails中创建用户帐户设置页面

  21. 21

    Rails 4 Ruby 2.00 Devise migration on existing User Model fails

  22. 22

    Ruby on Rails 4,Devise和个人资料页面

  23. 23

    Ruby / Rails:抑制超类函数-Stripe和Devise的集成

  24. 24

    Ruby on Rails中具有Devise的Facebook OAuth

  25. 25

    使用ldap在Rails上使用devise ruby连接到广告

  26. 26

    带有Office 365的Ruby Rails Devise和SAML

  27. 27

    使用Ruby on Rails Devise Gem向用户名注册

  28. 28

    登录后使用Ruby on Rails使用Devise后输入的页面

  29. 29

    使用ldap在Rails上使用devise ruby连接到广告

热门标签

归档