#ruby-on-rails #ruby #devise #ruby-on-rails-3.1
#ruby-on-rails #ruby #разработка #ruby-on-rails-3.1
Вопрос:
routes.rb =>
Sendemail::Application.routes.draw do
devise_for :users
get "user/index"
get "home/index"
root :to => 'home#index'
end
грабли маршрутов =>
new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
user_password POST /users/password(.:format) {:action=>"create", :controller=>"devise/passwords"}
new_user_password GET /users/password/new(.:format) {:action=>"new", :controller=>"devise/passwords"}
edit_user_password GET /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
PUT /users/password(.:format) {:action=>"update", :controller=>"devise/passwords"}
cancel_user_registration GET /users/cancel(.:format) {:action=>"cancel", :controller=>"devise/registrations"}
user_registration POST /users(.:format) {:action=>"create", :controller=>"devise/registrations"}
new_user_registration GET /users/sign_up(.:format) {:action=>"new", :controller=>"devise/registrations"}
edit_user_registration GET /users/edit(.:format) {:action=>"edit", :controller=>"devise/registrations"}
PUT /users(.:format) {:action=>"update", :controller=>"devise/registrations"}
DELETE /users(.:format) {:action=>"destroy", :controller=>"devise/registrations"}
user_confirmation POST /users/confirmation(.:format) {:action=>"create", :controller=>"devise/confirmations"}
new_user_confirmation GET /users/confirmation/new(.:format) {:action=>"new", :controller=>"devise/confirmations"}
GET /users/confirmation(.:format) {:action=>"show", :controller=>"devise/confirmations"}
user_index GET /user/index(.:format) {:controller=>"user", :action=>"index"}
home_index GET /home/index(.:format) {:controller=>"home", :action=>"index"}
root / {:controller=>"home", :action=>"index"}
Когда я набираю rails server, я получаю это сообщение каждый раз =>
/home/user1/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV
Для «http://0.0.0.0:3000/users/sign_out «
Routing Error
No route matches [GET] "/users/sign_out"
Что я должен сделать, чтобы решить эту проблему?
Ответ №1:
Обратите внимание, что в ваших маршрутах указано, что /users/sign_out — это запрос на УДАЛЕНИЕ. Большинство браузеров по умолчанию не выполняют запросы на УДАЛЕНИЕ. Просто переход к этому URL-адресу будет запросом GET к /users/sign_out .
Этот способ добавления ссылок для выхода должен помочь вам заставить его работать.
Комментарии:
1. Спасибо, это работает, но как я могу избавиться от этого сообщения? /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: предупреждение: уже инициализирована константа WFKV
2. Я думаю, что это не имеет отношения к данному вопросу.
3. Да, это может быть не связано, но как я могу это решить? Должен ли я начать новый поток для этого?
4. Я думаю, что было бы лучше всего задать новый вопрос, если он еще не существует.
Ответ №2:
Добавьте :method => :delete
ссылку для входа.