Ruby on Rails设计http://0.0.0.0:3000/users/sign_out获取路由错误

时间:2011-10-09 14:17:07

标签: ruby-on-rails ruby devise 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

rake routes =>

        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服务器时,我每次都会收到此消息=>

/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"

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:5)

注意您的路由如何说/ users / sign_out是DELETE请求。大多数浏览器默认情况下不会发出DELETE请求。只需访问该URL即可向/ users / sign_out发送GET请求。

how to add sign out links可以帮助您实现目标。

答案 1 :(得分:3)

:method => :delete添加到您的退出链接。