2011-09-16 84 views
3

我正在使用Facebook的授權Gem創作。 試圖讓設計URL的資源是絕對的,所以我從環境切換時不必更改 。Rails 3:資源的絕對URL

<%= user_omniauth_authorize_path(:facebook) %> == gives ==> /auth/facebook 

加入 「root_path」 面前給我

<%= root_url %><%= user_omniauth_authorize_path(:facebook) %> 

http://localhost:3000//auth/facebook (double slash?) 

我嘗試添加這url_forlink_to但沒有運氣。

任何想法?

我希望得到

http://localhost:3000/auth/facebook 

而我已經是 「user_omniauth_authorize_path(:臉譜)」 資源與

回答

2
<%= user_omniauth_authorize_url(:facebook) %> 
+0

不幸的是我不認爲Devise使這個,我得到一個「未定義的方法'user_omniauth_authorize_url'爲#<# Daxon

1

趕快翻翻OmniAuth頁面玩,有沒有按似乎不是一個user_omniauth_authorize_url方法。如果您無法找到開箱即用的解決方案,那麼我只需創建一個幫助程序方法absolutize_path,它將您的主機部分預加載到路徑部分。


def absolutize_path path 
    File.join root_url, path 
end 

你可以交替考慮使用URI.join,這是更多的語義,但可能矯枉過正你的需要。