迁移到Rails 4.0后设计问题

时间:2015-08-23 18:41:20

标签: ruby-on-rails-4 devise upgrade

从3.2.1升级到Rails 4.0之后我收到此错误:

  

已使用的路线名称无效:' 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

我现在需要如何写它才能使其正确?

谢谢

1 个答案:

答案 0 :(得分:1)

存在冲突,因为前两行的devise_for部分尝试执行相同的操作(即创建相同的设计路径名称,导致new_user_session已在使用中。)< / p>

你可以:

  • 删除第一行

  • 制作第二行devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", :registrations => "registrations", :confirmations => "confirmations", :passwords => "passwords"} do

  • 设置第二行devise_scope而不是devise_for