2012-01-07 31 views
0

我也跟着一步本指南步:http://railscasts.com/episodes/241-simple-omniauth意想不到的結果下面的教程(omniauth微博)沒有路由匹配[GET]「/認證/嘰嘰喳喳」

當我點擊,將採取我的Twitter按鈕,結果是這樣的:

沒有路由匹配[GET]「/認證/嘰嘰喳喳」

我試了好幾次,看慢動作視頻......但結果總是相同

+0

那麼,你需要爲這個「路徑」創建一個路由,你也確定你寫的任何代碼都會爲_GET_方法生成路由嗎?另外,如果你提供了一些代碼片段,那將會很好。我真的不想看整個視頻。 :( – omninonsense 2012-01-07 19:07:39

+0

你有這個在你的config/routes.rb文件中嗎? 匹配「/ auth /:provider/callback」=>「sessions#create」 – josephrider 2012-01-07 19:07:48

+0

@with a dot。 - ASCIIcast在頁面上搜索「route」 – josephrider 2012-01-07 19:12:02

回答

1

未來,請嘗試分享您的相關代碼以進行調試。但是,請確保您具有以下內容。

在你的路由,確保您有類似

devise_for :users, :controllers => {:omniauth_callbacks => "users/omniauth_callbacks" ... 

,並在你的,設計初始化

config.omniauth :facebook, facebook_app_id, facebook_app_secret, 
    { :scope => 'yourscopeshere', :client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}} } 
1

您需要註釋掉:由設計使用模型「omniauthable」寶石(通常是'User'= user.rb文件):

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, :recoverable, 
     :rememberable, :trackable, :validatable # plus whatever other calls... 
     # :omniauthable 

    [...] 

end 

使用':omniauthable'調用意味着加載設備/ omniauth組件(這會導致與您的omniauth設置衝突)。