2015-12-08 137 views
0

我有街道名稱,城市,州和郵編爲用戶示範田,我想簡單地讓這些值的谷歌地圖查詢像Ruby on Rails中的字符串格式?

https://www.google.com/maps?q=your+query 

,這樣我可以打開超鏈接它實際谷歌地圖頁面。現在我想知道如何將這些參數設置爲您的+查詢的格式。我想知道我是否可以在模板或控制器中執行此操作,以及如何通過這些變量。

+0

此外,還有一件事是我意識到我需要將所有空格變成+符號,並且在哪個文件中應該放置這樣的函數? – user2857014

回答

3

您可以使用CGI.escape對查詢進行URL編碼。這裏是docs

"https://www.google.com/maps?q=#{CGI.escape params[:query]}"

3

紅寶石包括URI模塊,該模塊操作的URI的首選方式,因爲它是感知編碼:

require 'uri' 

uri = URI.parse('https://www.google.com/maps?q=your+query') 
uri.query # => "q=your+query" 

params = URI::decode_www_form(uri.query).to_h # => {"q"=>"your query"} 
params['q'] = 'my query' 
uri.query = URI::encode_www_form(params) 

uri.to_s # => "https://www.google.com/maps?q=my+query" 

Rails有若干助手解析的,雖然操作它們的那是什麼Rails建立在周圍,所以深入你的教程或書籍,並利用這些。