Ruby on rails 没有与[GET]匹配的路由“/auth/twitter/”
我正在开发RubyonRails应用程序,可以使用Twitter/Facebook帐户登录。在我不小心使用bundle更新之前,它们一直工作得很好 突然,我无法运行我的应用程序,因为terminal/cmd一直向我发送请在“用户”模型中添加“Desive:omniauthable” 因此,我尝试添加:omniauthable,现在应用程序可以运行了,但是当我尝试连接Facebook或Twitter时,我没有得到任何路由匹配[get]“/auth/Twitter/” 有人知道为什么会这样吗?我试图删除:omniauthable,就像在几个问题上说的那样,但它没有帮助 user.rb omniauth.rb routes.rbRuby on rails 没有与[GET]匹配的路由“/auth/twitter/”,ruby-on-rails,ruby,facebook,twitter,devise,Ruby On Rails,Ruby,Facebook,Twitter,Devise,我正在开发RubyonRails应用程序,可以使用Twitter/Facebook帐户登录。在我不小心使用bundle更新之前,它们一直工作得很好 突然,我无法运行我的应用程序,因为terminal/cmd一直向我发送请在“用户”模型中添加“Desive:omniauthable” 因此,我尝试添加:omniauthable,现在应用程序可以运行了,但是当我尝试连接Facebook或Twitter时,我没有得到任何路由匹配[get]“/auth/Twitter/” 有人知道为什么会这样吗?我试图
尝试配置designe.rb
Devise.setup do |config|
config.omniauth :twitter, "TWITTER_KEY", "TWITTER_SECRET"
end
你能发布你的config/routes.rb文件吗?这将是最好的开始:您是否将omniauth与Desive一起使用?您是否已将omniauth.rb放在正确的文件夹中?@RichPeck-添加了路由。rb@Dave-是的,我正在使用omniauth和Desive。我确信它已经在正确的文件夹中了,因为它们以前工作得很好。我试图将designe.rb配置为您的代码,但它仍然不工作。路线仍然不匹配。
Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, Settings.twitter.key, Settings.twitter.secret
provider :facebook, Settings.facebook.id, Settings.facebook.secret, scope: "email, publish_stream"
end
# OAuth
get 'auth/:provider/disconnect', to: 'sessions#disconnect'
get 'auth/:provider/callback', to: 'sessions#connect'
get 'auth/failure', to: redirect('/')
get 'signout', to: 'sessions#destroy', as: 'signout'
get 'facebook_disconnect', to: 'user_facebooks#facebook_disconnect', as: 'facebook_disconnect'
get 'twitter_disconnect', to: 'user_twitters#twitter_disconnect', as: 'twitter_disconnect'
Devise.setup do |config|
config.omniauth :twitter, "TWITTER_KEY", "TWITTER_SECRET"
end