Subscribed unsubscribe Subscribe Subscribe

ジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと家族と共に流れ着き、ベルリンのスタートアップで働くソフトウェアエンジニアの日記

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

Rails Ruby リファクタリング

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