设计与Omniauth Facebook认证

问题描述:

我运行红宝石1.9.2p18,Devise(1.3.4),Rails(3.0.4)和Omniauth(0.2.6)。设计与Omniauth Facebook认证

目前我有我的网页与Devise进行身份验证,它工作正常。

我正在尝试为其添加Facebook身份验证。我遵循https://github.com/plataformatec/devise/wiki/OmniAuth%3a-Overview的说明。

当我做本地主机:3000我得到

LoadError (no such file to load -- omniauth/core): 
    app/models/user.rb:3:in `<class:User>' 
    app/models/user.rb:1:in `<top (required)>' 
    config/routes.rb:6:in `block in <top (required)>' 
    config/routes.rb:1:in `<top (required)>' 

,如果刷新页面再次有时我得到

ActionController::RoutingError (No route matches "/") 

我看了下.rvm /宝石/红宝石1.9.2- p180/gems/omniauth-0.2.6我有目录oa-core /但不是核心/。

我真的很感谢帮助,我不知道如何调试这个!

2个错误是不同的。

1.错误:

LoadError (no such file to load -- omniauth/core) 

您需要omniauth添加到您的Gemfile运行 '捆绑安装'。如果你有问题,这个Railscast可能会帮助: Railscasts Omniauth 1

另请参阅2在Railscasts上设计视频。

2.错误:

ActionController::RoutingError (No route matches "/") 

它说你还没有配置你的应用程序有一个主要根源。主根是匹配“/”的。
- 首先选择您想要登录的页面为您或主页。如果你还没有创建一个然后做。
- 接下来,您可以通过“rake routes”从shell中找到所有命名的路由。
- 然后打开配置/ routes.rb中文件并添加主根:

root :to => 'welcome#index' 

代替 “欢迎#指数” 与 “your_chosen_controllers_name#chosen_method”
不添加通过创建了一个名为路线设计,因为它会以无限循环结束(“堆栈级别太深”错误)。

请注意,如果您以前没有使用Rails的经验,Devise wiki建议不要使用Devise。在这种情况下,我强烈建议检出Rails3.1新has_secure_password?方法。
HTH

+0

@meena,你有没有得到这个解决方案。我有同样的问题,但无法获得解决方案。请让我知道你是否有解决方案。 –