【问题标题】:No route matches [GET] "/auth/facebook"没有路线匹配 [GET] "/auth/facebook"
【发布时间】:2011-12-28 19:22:25
【问题描述】:

我在使用omniauth 时遇到此错误,使用rails 3.1.3 进行设计。我已经安装了omniauth gem 和omniauth facebook。

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

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

**No route matches [GET] "/auth/facebook"**

请对此提供帮助。我在 stackoverflow 中有相关帖子,但似乎没有任何工作

【问题讨论】:

    标签: ruby-on-rails-3


    【解决方案1】:

    我在使用 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
    

    【讨论】:

    • 如果没有这个改变,我注意到在 /auth 之前添加 /users(如 /users/auth/facebook)它可以工作。使用相同的 gem 版本,遇到了同样的问题。
    • Devise 不允许更改 config.path_prefix 的全局值,但可以在每个提供程序中设置 :path_prefix => '/auth'
    【解决方案2】:

    我遇到了同样的问题,发现它是由 :omniauthable devise 模块引起的。您需要注释掉该模块,例如:

    #app/model/user.rb
    def User
        ...
        devise :database_authenticatable, :registerable, :confirmable,
               :recoverable, :rememberable, :trackable, :validatable#, :omniauthable
        ...
    end
    

    抱歉回复晚了。

    【讨论】:

      【解决方案3】:

      在尝试解决这个问题几个小时后,我意识到我会在 .gitignore 文件中添加 config/initializers/omniauth.rb(真丢脸)。

      如果你还没有从 .gitignore 列表中删除omniauth.rb

      【讨论】:

        【解决方案4】:

        这很可能是因为您已将 devise.rb 配置为使用 scoped_views。 Devise 的默认行为是在您的模型上确定 URL 的范围。解决这个问题的最佳方法是使用您自己的控制器,从 Devise 继承,并告诉 Devise 使用哪些控制器和 URL。有关如何实现该行为的更详细说明,请参阅Devise wiki pages

        【讨论】:

          【解决方案5】:

          这个问题是由于主机冲突造成的,我们需要确保,我们正在根据生产和本地开发更改 facebook "Website with Facebook Login"-> Site URL:""。

          【讨论】:

            猜你喜欢
            • 2014-06-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-06-15
            • 2011-12-11
            • 2015-09-27
            相关资源
            最近更新 更多