ruby-on-rails – Rails – Devise,如何禁用一些默认路由? - 代码日志

ruby-on-rails – Rails – Devise,如何禁用一些默认路由?

我想完全禁用路由/用户/ sign_in获取和发布。

我能够使用以下方式成功覆盖它们:

  devise_for :users do
      get "/admin" => "devise/sessions#new", :as => :new_user_session
      post "/admin" => "devise/sessions#create", :as => :user_session
  end

当我跑耙路线时,我看到如下:

    new_user_session GET    /admin(.:format)                {:controller=>"devise/sessions", :action=>"new"}
    user_session     POST   /admin(.:format)                {:controller=>"devise/sessions", :action=>"create"}
    new_user_session GET    /users/sign_in(.:format)        {:action=>"new", :controller=>"devise/sessions"}
                     POST   /users/sign_in(.:format)        {:action=>"create", :controller=>"devise/sessions"}

我可以从/ admin以及/ users / sign_in访问登录。但是我想完全删除最后两行,是可能吗?

我尝试了一些不同的组合,从documentation似乎这样做,但它也覆盖了一些有用的,如密码/新密码/编辑路线。

卡茨的解决方案不再像Cirulli所说。

尝试以下。

devise_for :users, :skip => [:sessions]

as :user do
    get "/admin" => "devise/sessions#new", :as => :new_user_session
    post "/admin" => "devise/sessions#create", :as => :user_session
end
http://stackoverflow.com/questions/8418514/rails-devise-how-can-i-disable-some-default-routes

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails – Rails – Devise,如何禁用一些默认路由?