ruby-on-rails - 使用设计范围重新定义默认路由

标签 ruby-on-rails devise

尝试使用设计范围重新定义 session 路由时出错。

devise_for :users
devise_scope :users do
  get    '/login'   => 'devise/sessions#new',     as: :new_user_session
  post   '/login'   => 'devise/sessions#create',  as: :user_session
  delete '/logout'  => 'devise/sessions#destroy', as: :destroy_user_session
end

错误。
Invalid route name, already in use: 'new_user_session' You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes
我理解错误只是不知道为什么会发生。范围不会重新定义为 new_user_session 吗?

此外,如果您遵循 wiki,您将收到一个传递块的设计弃用警告。
https://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes

最佳答案

猜猜我需要跳过 session devise_for :users, :skip => [:sessions]

关于ruby-on-rails - 使用设计范围重新定义默认路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900327/

相关文章:

ruby-on-rails - 如何让rails在数据库更新后使用ajax更新HTML表行?

mysql - 如何从 schema.rb 文件生成 SQL Server 数据库?

javascript - ExecJS::RuntimeError <%= javascript_include_tag 'application' , 'data-turbolinks-track' => true %>

ruby-on-rails - 在 Rails 中使用 Bootstrap gem

ruby-on-rails - Rails 和 Devise 的强大参数

ruby-on-rails - 如何在Rails 3.2中使用content_tag向标签添加附加属性?

ruby-on-rails - Rails ActiveSupport::关注点和方法评估

ruby-on-rails - 与 Omniauth 一起设计。无法验证,因为 "Invalid credentials"。”

ruby-on-rails - 如果用户未通过 Devise 进行身份验证,则重定向到登录页面

ruby-on-rails - Rails 3 : Devise users_controller, 在哪里?