我正在使用OmniAuth在我的Devise基於Rails應用程序中使用Facebook Connect。一個它創建的路線是:設計更改user_omniauth_callback路線
user_omniauth_callback /users/auth/:action/callback(.:format) {:action=>/facebook/, :controller=>"devise/omniauth_callbacks"}
我想修改這條路線的自定義URL。哪裏可以做到這一點?
問題在默認情況下,它創建的路線是http://foo/users/auth/:action/callback.format。我想要更多的自定義像http://foo/prefix_path/users/auth/:action/callback.format。我試圖讓我的路線文件,如下所示:
scope "/mypath" do
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
end
,但它仍然產生了錯誤的路線:
user_omniauth_callback /users/auth/:action/callback(.:format) {:action=>/facebook/, :controller=>"users/omniauth_callbacks"}
我更新了上面的問題,以更好地解釋我的意思是自定義路線。 – randombits
更新的答案,以更好地反映您的問題。 – Olives
@Olives,我處於類似的位置。我們有一個rails應用程序部署到服務器上的一個子目錄,例如'https:// www.example.com/subdir /',並且在不同的服務器上它可能位於不同的子目錄中,所以我們不能硬編碼路徑。你對路徑選項的回答是非常誘人的,但是路徑是硬編碼的。不過,謝謝你的回答,我會試試這兩個選項。 – Wodin