2011-08-28 106 views
0

我運行紅寶石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 /但不是核心/。

我真的很感謝幫助,我不知道如何調試這個!

回答

1

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,你有沒有得到這個解決方案。我有同樣的問題,但無法獲得解決方案。請讓我知道你是否有解決方案。 –

相關問題