我已經關注this guide獲取Devise Facebook身份驗證的工作,現在我已經到了一個我無法理解的地步,我希望得到一些幫助。在Rails 3.1中設計和omniauth Facebook身份驗證
我得到的登錄與Facebook鏈接,但點擊它,我得到以下錯誤,告訴我有一個與路線
未知的動作有些不對勁
找不到制定的路徑映射「 /用戶/認證/臉譜」。也許你忘了把你的路線包裹在範圍塊內?例如:devise_scope:用戶做匹配 「/一些/路徑」=> 「some_devise_controller」 結束
這裏是我的路線文件
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身份驗證工作,但當從「允許應用程序屏幕「紅寶石拋出...
未定義的方法`關閉?'對於零:NilClass
的ActiveSupport(3.1.0.rc8)LIB/active_support/whiny_nil.rb:48:在
method_missing' /opt/local/lib/ruby/1.8/net/http.rb:1060:in
請求」 法拉第(0.6.1)LIB /法拉第/適配器/ net_http.rb:51:在call' faraday (0.6.1) lib/faraday/request/url_encoded.rb:14:in
呼叫 ' 法拉第(0.6.1)LIB /法拉第/ request.rb:88:在run' faraday (0.6.1) lib/faraday/request.rb:28:in
運行' 法拉第(0.6.1)LIB /法拉第/ connection.rb:170:在run_request' oauth2 (0.4.1) lib/oauth2/client.rb:63:in
請求」。 ..
這是使用Rails 3.1.0rc8和ruby 1.9.2
我想你可以回答我的問題。我也有在omniauth類似的問題http://stackoverflow.com/questions/13561140/i-am-using-rails-cast-omniauth-and-i-get-this-error# – regmiprem