Ruby on rails Omniauth/Deviate/Facebook:无法识别身份验证路由
我已经研究这个问题7个小时了,但我仍然不知道。也许你们中的一个能帮我 我只是尝试将Deviate 1.2rc的OAuth特性(使用Omniauth)集成到我的Rails应用程序中Ruby on rails Omniauth/Deviate/Facebook:无法识别身份验证路由,ruby-on-rails,ruby-on-rails-3,oauth,devise,omniauth,Ruby On Rails,Ruby On Rails 3,Oauth,Devise,Omniauth,我已经研究这个问题7个小时了,但我仍然不知道。也许你们中的一个能帮我 我只是尝试将Deviate 1.2rc的OAuth特性(使用Omniauth)集成到我的Rails应用程序中 我一直在使用Desive的本教程: 我已经做了他们让你做的一切 是的,我在designe.rb中添加了以下行: config.omniauth:facebook,“应用程序ID”、“应用程序机密” 我已经在我的用户模型中添加了:omniauthable,以及教程中描述的类函数 我已经实现了omniauth\
- 我一直在使用Desive的本教程:
- 我已经做了他们让你做的一切
- 是的,我在designe.rb中添加了以下行:
config.omniauth:facebook,“应用程序ID”、“应用程序机密”
- 我已经在我的用户模型中添加了:omniauthable,以及教程中描述的类函数
- 我已经实现了omniauth\u回调控制器以及回调函数,并且在my routes.rb中指定了omniauth\u回调控制器
- 当我运行“rake中间件”时,它确实列出了Omniauth中间件:
使用OmniAuth::Strategies::Facebook
- 我已经直接从Git回购主分支安装了Desive,所以它是最新的
- 我已经安装了Omniauth 1.2.0.beta5,这是最新版本。我的档案上写着:
gem'oaoauth',0.2.0.beta5',:require=>omniauth/oauth'
- 显然,我已经重新启动了服务器
- 但是,当我尝试请求此URL时:
http://localhost:3000/auth/facebook
它只是说
ActionController::RoutingError(没有与之匹配的路由“/auth/facebook”):
/user/auth/facebook也不起作用
不幸的是,我没有时间分解整个Omniauth,设计gems并理解其中的每一行代码,也许你们中的一位可以告诉我问题可能是什么。问题现在解决了。很明显,这是Desive的问题。我把它作为一个问题发布在他们的Github上,他们在源代码中修复了它。在最新的Devage master分支中,它现在可以工作了。在尝试解决这个问题的几个小时后,我意识到我已经在
.gitignore
文件中找到了config/initializers/omniauth.rb
(真丢脸)
因此,如果尚未尝试/users/auth/facebook,请从.gitignore列表中删除omniauth.rb。是的,也不起作用。甚至不存在任何路由使用omniauthable模块时没有
config/initializers/omniauth.rb
。我使用它来保存api密钥,但肯定不是必需的