Я знаю, что на разных сайтах есть десятки вопросов по этой проблеме.Я много чего перепробовал, и до сих пор не могу заставить работать ссылку с методом DELETE.
Я создал пустое приложение rails
Версии:
- devise 2.0.4
- рельсы: 3.2.2
- Рубин: 1.9.2
- RVM: 1.10.3
После того, как я установил devise gem, я выполнил следующие команды:
rails generate devise:install
rails generate devise User
Исправления, которые я попробовал, приведены ниже:
Исходная ссылка:
<%= link_to "Sign out", destroy_user_session_path %>
Я добавил метод удаленияв тиках и без них:
<%= link_to "Sign out", destroy_user_session_path, :method => 'delete' %>
<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
Добавил это в application.html.erb:
<%= javascript_include_tag :defaults %>
Я раскомментировал эти строки в assets / javascripts / application.js:
= require jquery
= require jquery_ujs
Я также пытался заставить работать ссылку GET, изменил эту строку с config / initializers / devise.rb
config.sign_out_via = : delete
на эту:
config.sign_out_via = :get if Rails.env.test?
Неважното, что я пытаюсь, УДАЛИТЬ ссылки приводят к этому:
No route matches [GET] "/users/sign_out"
GET ссылки не работают также:
Нет совпадений маршрута [GET] "/"
Iпопытался перезагрузить сервер, конечно.
RakМаршруты содержат это:
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
Заранее спасибо.