0

我創建了一個使用omniauth的rails引擎。在該引擎中,無論使用ruby 1.8.7還是1.9.2運行,當我使用虛擬應用程序測試它時,一切正常(使用Rails 3.1.3)。有關Ruby版本的Omniauth路徑問題?

我可以使用任何提供商登錄/auth/:provider,如/auth/google

當我包含引擎並將其掛載到主機應用程序中的'/'時,登錄過程在我使用ruby 1.8.7時起作用,但在使用ruby 1.9.2時給出No route matches [GET] "/auth/google

因此,要包裝它,當Omniauth位於引擎中並且我使用Ruby 1.9.2時,我得到No route matches [GET] "/auth/google

我想,你創建一個直通的行動,產生一個404錯誤色器件解決方案,但如果我這樣做,我當時陷在該404錯誤...

任何想法?

+0

這個問題relly綁定到紅寶石版本。每當我使用rvm切換回1.8.7時,它都能正常工作,然後切換到1.9.2,並且出現錯誤。真奇怪的是,它總是在虛擬應用程序中運行,其中gem也安裝在''/''上。 –

+0

我也有這個問題。你解決了嗎? – Yeggeps

回答

1

寫下面的代碼在你的發動機

middleware.use OmniAuth::Builder do 
    provider :provider, 'APP_ID', 'APP_SECRET' 
end 

,你將有登錄URL下/裝入點/ auth /中:供應商

+0

您的回答幫助我在此主題http://stackoverflow.com/a/15420925/347501謝謝! – pablomarti