2015-12-08 99 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建立在周围,所以深入你的教程或书籍,并利用这些。