Ruby on rails 使用OAuth和Rails的注销路由
我正在使用OAuth 2 gem通过google和facebook进行身份验证。 当我从应用程序注销时,我需要从谷歌和facebook注销。在OA文件中说:Ruby on rails 使用OAuth和Rails的注销路由,ruby-on-rails,ruby,routing,Ruby On Rails,Ruby,Routing,我正在使用OAuth 2 gem通过google和facebook进行身份验证。 当我从应用程序注销时,我需要从谷歌和facebook注销。在OA文件中说: devise_scope :user do delete 'sign_out', to: 'devise/sessions#destroy', as: :destroy_user_session end 将此添加到routes.rb。我这样做了,我的溃败rb现在看起来像: Rails.application.routes.draw do
devise_scope :user do
delete 'sign_out', to: 'devise/sessions#destroy', as: :destroy_user_session
end
将此添加到routes.rb。我这样做了,我的溃败rb现在看起来像:
Rails.application.routes.draw do
devise_for :users, controllers: { omniauth_callbacks: 'callbacks' }
devise_scope :user do
delete 'sign_out', to: 'devise/sessions#destroy', as: :destroy_user_session
end
当我添加这一行时,我在尝试删除我的应用程序时出错:
/Users/damirik/.rvm/gems/ruby-2.3.0/gems/actionpack-5.0.0.1/lib/action\u dispatch/routing/route\u set.rb:507:inadd\u route]:路由名称无效,已在使用:“destroy\u user\u session”(ArgumentError)
您可能已使用
:as`选项定义了两条同名路由,或者您可能正在覆盖已由同名资源定义的路由
我真的不知道怎么修理它。请帮助查看方法文档,我可以看到它已经添加了确切的删除“注销”
路由,这使得它变得多余
这应该足以使您的代码正常工作
Rails.application.routes.draw do
devise_for :users, controllers: { omniauth_callbacks: 'callbacks' }
end
您是否检查过rake routes中的一切是否正常?