I know there are dozens of questions on different sites about this issue. I have tried a lot of things, and I still can't get the link with DELETE method to work.
I've created an empty rails application
Versions:
- devise 2.0.4
- rails: 3.2.2
- Ruby: 1.9.2
- RVM: 1.10.3
After I installed devise gem, I ran these commands:
rails generate devise:install
rails generate devise User
Fixes I have tried are below:
Initial link:
<%= link_to "Sign out", destroy_user_session_path %>
I added the delete method, in ticks and without them:
<%= link_to "Sign out", destroy_user_session_path, :method => 'delete' %>
<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
Added this to application.html.erb:
<%= javascript_include_tag :defaults %>
I uncommented these lines in assets/javascripts/application.js:
= require jquery
= require jquery_ujs
I also tried getting the GET link to work, changed this line from config/initializers/devise.rb
config.sign_out_via = : delete
to this:
config.sign_out_via = :get if Rails.env.test?
No matter what I try, DELETE links result in this:
No route matches [GET] "/users/sign_out"
GET links don't work as well:
No route matches [GET] "/"
I have tried restarting the server, of course.
Rake routes contains this:
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
Thanks in advance.