4

当我使用omniauth、rails 4.2.1 时出现此错误。我已经安装了omniauth gem 和omniauth facebook。

路线.rb

get 'auth/:provider/callback', to: 'users#create'
get 'auth/failure', to: redirect('/')
get 'signout', to: 'users#destroy', as: 'signout'

初始化程序/omniauth.rb

OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, 'APP_KEY', 'APP_SEC_KEY'
end

我发现这个错误

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

任何人都可以帮我解决这个问题,我做了很多研究并尝试过,但似乎没有任何效果。

4

1 回答 1

2

您是否使用设计 gem 进行身份验证?如果是,那么您不应该使用“initializers/omniauth.rb”,而是使用“/initializers/devise.rb”,以及用户模型中的“omniauthable”。一个很好的教程:https ://www.digitalocean.com/community/tutorials/how-to-configure-devise-and-omniauth-for-your-rails-application

于 2015-10-30T07:55:12.433 回答