【问题标题】:Ruby on Rails devise http://0.0.0.0:3000/users/sign_out gets routing errorRuby on Rails 设计 http://0.0.0.0:3000/users/sign_out 获取路由错误
【发布时间】:2011-10-09 14:17:07
【问题描述】:

routes.rb =>

Sendemail::Application.routes.draw do
    devise_for :users

    get "user/index"

    get "home/index"

    root :to => 'home#index'
end

rake 路线 =>

        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"

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

【问题讨论】:

    标签: ruby-on-rails ruby devise ruby-on-rails-3.1


    【解决方案1】:

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

    这个how to add sign out links 应该可以帮助你让它工作。

    【讨论】:

    • 谢谢,这行得通,但我怎样才能摆脱这条消息? /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53:警告:已初始化常量WFKV
    • 我认为这与这个问题无关。
    • 是的,这可能无关,但我该如何解决呢?我应该为此启动一个新线程吗?
    • 我认为最好是作为一个新问题,如果不存在的话。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-10-11
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2016-10-28
      • 2014-01-29
      • 2010-12-01
      相关资源
      最近更新 更多