迁移到 Rails 4.0 后设计问题
Devise issue after migrating to Rails 4.0
从 3.2.1 升级到 Rails 4.0 后出现此错误:
Invalid route name, already in use: 'new_user_session'
我的路线文件中有这个:
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", :registrations => "registrations", :confirmations => "confirmations", :passwords => "passwords"}
devise_for :users do
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
get '/users/logout' => 'users#logout'
end
我现在需要怎么写才能正确?
谢谢
存在冲突,因为前两行的 devise_for
部分试图做同样的事情(即创建相同的设计路由名称,导致 new_user_session
已被使用) .
您可以:
删除第一行
制作第二行devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", :registrations => "registrations", :confirmations => "confirmations", :passwords => "passwords"} do
或
- 将第二行设为
devise_scope
而不是devise_for
从 3.2.1 升级到 Rails 4.0 后出现此错误:
Invalid route name, already in use: 'new_user_session'
我的路线文件中有这个:
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", :registrations => "registrations", :confirmations => "confirmations", :passwords => "passwords"}
devise_for :users do
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
get '/users/logout' => 'users#logout'
end
我现在需要怎么写才能正确?
谢谢
存在冲突,因为前两行的 devise_for
部分试图做同样的事情(即创建相同的设计路由名称,导致 new_user_session
已被使用) .
您可以:
删除第一行
制作第二行
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", :registrations => "registrations", :confirmations => "confirmations", :passwords => "passwords"} do
或
- 将第二行设为
devise_scope
而不是devise_for