没有路线匹配[GET]"/ auth/facebook"

Thi*_*nan 6 ruby-on-rails-3

当我使用omniauth时,我得到了这个错误,设计了rails 3.1.3.我已经安装了omniauth gem&omniauth facebook.

将routes.rb配置为 match '/auth/:provider/callback',to: 'authentications#create'指南https://github.com/intridea/omniauth

每当我浏览网址http:// localhost:3003/auth/facebook /时,我发现路由错误

**No route matches [GET] "/auth/facebook"**
Run Code Online (Sandbox Code Playgroud)

请帮忙.我在stackoverflow中有相关的帖子,似乎都没有工作

小智 7

使用Rails 3.2,OmniAuth 1.0.2和Devise 2.0时遇到了同样的问题.

显然'path_prefix'存在问题.但是当手动重新配置时一切正常.

尝试在初始化程序中执行此操作:

Rails.application.config.middleware.use OmniAuth::Builder do
  configure do |config|
    config.path_prefix = '/auth'
  end
  ...
end
Run Code Online (Sandbox Code Playgroud)

  • 如果没有这个改变,我注意到在/ auth之前添加/ users(比如/ users/auth/facebook)它可以工作.使用相同的宝石版本,看到同样的问题. (2认同)