【问题标题】:Devise no destroy_user_session route设计无 destroy_user_session 路由
【发布时间】:2011-12-07 01:53:25
【问题描述】:

destroy_user_session 没有出现在我的路线中,尽管 routes.rb 已配置

# routes.rb #
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
root :to => 'home#home'

耙子给了

$ rake routes

user_omniauth_callback        /users/auth/:action/callback(.:format) {:action=>/facebook/, :controller=>"users/omniauth_callbacks"}
                  root        /                                      {:controller=>"home", :action=>"home"}
                events GET    /events(.:format)                      {:action=>"index", :controller=>"events"}
                       POST   /events(.:format)                      {:action=>"create", :controller=>"events"}
             new_event GET    /events/new(.:format)                  {:action=>"new", :controller=>"events"}
            edit_event GET    /events/:id/edit(.:format)             {:action=>"edit", :controller=>"events"}
                 event GET    /events/:id(.:format)                  {:action=>"show", :controller=>"events"}
                       PUT    /events/:id(.:format)                  {:action=>"update", :controller=>"events"}
                       DELETE /events/:id(.:format)                  {:action=>"destroy", :controller=>"events"}
                 users GET    /users(.:format)                       {:action=>"index", :controller=>"users"}
                       POST   /users(.:format)                       {:action=>"create", :controller=>"users"}
              new_user GET    /users/new(.:format)                   {:action=>"new", :controller=>"users"}
             edit_user GET    /users/:id/edit(.:format)              {:action=>"edit", :controller=>"users"}
                  user GET    /users/:id(.:format)                   {:action=>"show", :controller=>"users"}
                       PUT    /users/:id(.:format)                   {:action=>"update", :controller=>"users"}
                       DELETE /users/:id(.:format)                   {:action=>"destroy", :controller=>"users"}
                 posts GET    /posts(.:format)                       {:action=>"index", :controller=>"posts"}
                       POST   /posts(.:format)                       {:action=>"create", :controller=>"posts"}
              new_post GET    /posts/new(.:format)                   {:action=>"new", :controller=>"posts"}
             edit_post GET    /posts/:id/edit(.:format)              {:action=>"edit", :controller=>"posts"}
                  post GET    /posts/:id(.:format)                   {:action=>"show", :controller=>"posts"}
                       PUT    /posts/:id(.:format)                   {:action=>"update", :controller=>"posts"}
                       DELETE /posts/:id(.:format)                   {:action=>"destroy", :controller=>"posts"}

这怎么可能?

【问题讨论】:

    标签: ruby-on-rails devise routes


    【解决方案1】:

    我在打字结束时找到了答案,但我还是发布了它,因为它可能对某些人有所帮助。

    在我的user.rb 模型中,我有

    devise :omniauthable
    

    但 Devise 需要模块 :database_authenticatable 才能拥有这些路由。谜团解开了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      相关资源
      最近更新 更多