【发布时间】:2011-09-07 20:57:20
【问题描述】:
我已关注 this guide 以使 Devise Facebook 身份验证正常工作,但我现在已经到了无法理解的地步,我需要一些帮助。
我获得了使用 Facebook 登录链接,但单击它时出现以下错误,告诉我路线有问题
未知操作
找不到路径“/users/auth/facebook”的设计映射。也许您忘记将您的路线包装在范围块内?例如: devise_scope :user do match "/some/route" => "some_devise_controller" end
这是我的路线文件
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
root :to => 'home#index'
编辑:
通过更改路由解决了这个问题
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } do
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
end
root :to => 'home#index'
现在我得到下一个错误,让 Facebook auth 工作,但是当从“允许应用程序屏幕”返回时,ruby 抛出...
未定义的方法“关闭?”对于 nil:NilClass
activesupport (3.1.0.rc8) lib/active_support/whiny_nil.rb:48:in
method_missing' /opt/local/lib/ruby/1.8/net/http.rb:1060:inrequest' 法拉第 (0.6.1) lib/faraday/adapter/net_http.rb:51:incall' faraday (0.6.1) lib/faraday/request/url_encoded.rb:14:incall' 法拉第 (0.6.1) lib/faraday/request.rb:88:inrun' faraday (0.6.1) lib/faraday/request.rb:28:inrun' faraday (0.6.1) lib/faraday/connection.rb:170:inrun_request' oauth2 (0.4.1) lib/oauth2/client.rb:63:inrequest'...
这是使用 Rails 3.1.0rc8 和 ruby 1.9.2
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 devise omniauth