Проблема: в двух словах, когда я пытаюсь установить ссылку для выхода в мое приложение, она не работает. Здесь так много контекста, как я могу подумать, чтобы поместить здесь (если вы хотите что-нибудь еще, пожалуйста, соберите меня)...
У меня это в представлении haml:
= link_to("Logout", destroy_user_session_path, :method => :delete)
Он генерирует это в представлении:
<a href="/users/sign_out" data-method="delete" rel="nofollow">Logout</a>
Я подтвердил, что в моем config/initializers/devise.rb у меня этот параметр раскоментирован и исправлен:
config.sign_out_via = :delete
Я проверил следующий маршрут:
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
У меня также есть этот обман в моих маршрутах .rb, и я подозреваю, что это связано с моей проблемой:
devise_for :users, :controllers => {:sessions => "devise/sessions", :registrations => "users"}
resources :users
Этот последний бит - это то, что я хочу управлять (редактировать, создавать и удалять) пользователей в моем собственном контроллере.
Сообщение об ошибке, которое я получаю, выглядит следующим образом:
ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with ID=sign_out
Rails.root: /home/jaydel/projects/mbsquared-projects/Wilson-Goldrick
app/controllers/users_controller.rb:16:in `show'
В моих журналах сервера я вижу это для запроса:
Started GET "/users/sign_out" for 127.0.0.1 at 2011-08-04 13:08:51 -0500
Processing by UsersController#show as HTML
Parameters: {"id"=>"sign_out"}
У кого-нибудь есть идеи?