【问题标题】:Rails 4 + Devise: Invalid route name, already in useRails 4 + Devise:无效的路线名称,已在使用中
【发布时间】:2013-08-02 12:22:10
【问题描述】:

我正在按照此操作方法在成功注册后修改确认页面。

https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-up-(registration)

我按照它说的做所有事情,但我得到了这个错误:

in `add_route': Invalid route name, already in use: 'new_user_session'  (ArgumentError)
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 created with `resources` as explained here: 
http://guides.rubyonrails.org/routing.html#restricting-the-routes-created

我猜 wiki 没有更新为使用带有 Rails 4 的 Devise,但我没有找到足够的信息来修复错误。

返回错误的行是下一个(routes.rb):

devise_for :users, :controllers => { :registrations => "registrations" }

有什么建议吗?

谢谢。

编辑 --

registrations_controller.rb

class RegistrationsController < Devise::RegistrationsController

    protected

    def after_inactive_sign_up_path_for(resource)
        '/sign_up/inactive'
    end
end

routes.rb

root :to => 'home#index'
devise_for :users
resources :users

devise_for :users, :controllers => { :registrations => "registrations" }

【问题讨论】:

  • 我敢说你没有“完全按照它所说的那样做”。请向我们展示您的代码。
  • 我想你已经有一个类似的重复控制器,它已经在设计模块中定义了
  • 感谢您的回答。根据设计维基的说法,我已经用我的文件内容编辑了主要帖子。

标签: ruby-on-rails ruby devise


【解决方案1】:

您的 routes.rb 中有两条路线 devise_for :users - 删除第一条。

【讨论】:

  • 谢谢,我没有注意到那个小细节。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
  • 2017-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多