Rails 4 + Devise:无效的路由名称,已在使用中

时间:2013-08-02 12:22:10

标签: ruby-on-rails ruby devise

我正在按照这个方法在注册成功后修改确认页面。

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没有使用Devise with Rails 4进行更新,但我找不到足够的信息来修复错误。

返回错误的行是next(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" }

1 个答案:

答案 0 :(得分:54)

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