ジャバ・ザ・ハットリ
Published on

Devise で Sign Out が Routing Error になる問題の対処方(method の delete が get になる)Rails 4.x

Authors
  • avatar
    ジャバ・ザ・ハットリ

Rails で Devise を使っていて、ログアウトした際になぜか Routing Error になったり、もしくはまったく意図していない Route に行ってしまう問題の対処方。

以下のブログにも同じ問題について言及しているが、delete を get にしてしまっているので、なにか消化不良がある。そもそも get になってるのを解決しないのでしょうか?、と。
[Rails 4.x] Devise で Sign Out が Routing Error になる際の対応。(method の delete が get になる場合) - Qiita

で、delete が get になる根本の原因は jQuery にあって、

# app/assets/javascripts/engine/application.js

+//= require jquery
+//= require jquery_ujs
+//= require_tree .

とすれば解決する。だいたいは jquery_ujs が入ってない、とかが原因。

ちなみに元ネタはこちら。
How to use the delete method in Devise for sign out? rails route failure (performing get) - Stack Overflow

この問題はいろんなところで散見されて、しかもその解決方法の記述が多彩。
私としてはこれが決定打と思っているのでブログに記した。

パーフェクトRuby on Rails
パーフェクト Ruby on Rails
作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
出版社/メーカー: 技術評論社
発売日: 2014/10/31
メディア: Kindle 版