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

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

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

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

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

当我运行 rake 路线时,我看到以下内容:
    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 不同的组合这似乎做到了,但它也覆盖了一些有用的,比如 password/new 和 password/edit 路由。

最佳答案

Katz 的解决方案不再像 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

关于ruby-on-rails - Rails - 设计,如何禁用一些默认路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8418514/

相关文章:

ruby-on-rails - 将 Rails 与现有数据库结合使用

mysql - 如何通过连接表查找基于关联的记录数

ruby-on-rails - 在 devise 2.0 中使用 omniauth 从 facebook 获取用户个人资料大图

ruby-on-rails - 帖 subview 中未显示评论验证错误

ruby-on-rails - Mongoid 中的多态性

ruby-on-rails-3 - Mongoid update_attributes 没有得到持久化

mysql - Rails 中的多对多关联

ruby-on-rails - 如何在 ruby​​ on rails 中为表单字段使用 span 标签?

ruby-on-rails-3.1 - 如何让 best_in_place 的 respond_with_bip 工作?

ruby-on-rails - rails : Make a repeating partial in groups