【发布时间】:2012-07-22 06:44:19
【问题描述】:
我目前有一个类似于["green%20books"] 的字符串,我希望它读为["green books"]。
我认为谷歌搜索会很快产生结果,但每个人都只想将空格变成%20s。反之亦然。
任何帮助将不胜感激!
编辑:
这是我正在使用的函数,我很困惑在这里解码 URL 的位置。我尝试删除 URI.encode 文本,但这破坏了功能。
def self.get_search_terms(search_url)
hash = CGI.parse(URI.parse(URI.encode(search_url)).query) #returns a hash
keywords = []
hash.each do |key, value|
if key == "q" || key == "p"
keywords << value
end
end
keywords
end
【问题讨论】:
-
你在使用 Rails 吗?如果是这样,
params[:q]是否不能满足您的需求? -
是的,我正在使用 Rails。我不确定我的字符串是不是任何东西的参数...
-
我可以理解这里想要一个实用方法。然而,参数解析本身可能不应该是控制器——或助手——关心的事情。也许可以用
Hash(例如,控制器中的params)来定义方法。 -
这是在模型内部完成的,值得...
-
在这种情况下,这可能是 How to extract URL parameters from a URL with Ruby or Rails? 的副本。这个问题有帮助吗?