我想在我的rails應用程序中構建一個url,指向另一個不運行rails的服務器。使用url_for
幾乎滿足我的要求,但它需要一個我不需要的控制器鍵(重定向到外部站點的頂級頁面)。在rails中生成外部url
我想這樣做的原因是,我有一個乾淨的構造一個URL參數散列(其中一些是在運行時確定的)。
我想在我的rails應用程序中構建一個url,指向另一個不運行rails的服務器。使用url_for
幾乎滿足我的要求,但它需要一個我不需要的控制器鍵(重定向到外部站點的頂級頁面)。在rails中生成外部url
我想這樣做的原因是,我有一個乾淨的構造一個URL參數散列(其中一些是在運行時確定的)。
您對URI::HTTP有什麼看法?
不幸的是,我不能像查詢字符串那樣傳遞查詢字符串,因爲我願意,但它足夠接近。我覺得有點奇怪,用'to_s'方法使用'HTTPS :: build'會返回一個https uri,而使用'request_uri'方法返回一個http uri。 – 2009-09-28 18:04:54
我不知道一個簡單的解決方案,散列成prameters問題。如果你不需要嵌套參數,你可以創建一個簡單的函數來完成這個任務。 URI :: HTTPS.request_uri()函數僅返回路徑和查詢字符串。之前的所有內容都被忽略了您可以在Rails控制檯中輕鬆嘗試。 – Roman 2009-09-29 08:50:56
您可以致電哈希to_query
中軌,這將照顧url編碼等。因此,也許是這樣的:
params = {
:a => "http://google.com",
:b => 123
}
url = "http://example.com?#{params.to_query}"
愛是愛谷歌 - 5小時,你問你的問題後,這是第六屆結果'軌道生成外部網址'。 – nfm 2009-09-26 01:04:54