Rails:将URL字符串转换为params?

时间:2015-03-12 06:03:11

标签: ruby-on-rails

我知道Rails会为你做这件事,但我需要自己做这个例子。是否有一个简单的非私有方法可以获取字符串并返回params的哈希,就像Rails为控制器所做的那样?

3 个答案:

答案 0 :(得分:5)

我在谷歌搜索更加激烈之后找到了一条路。

将url字符串转换为params:

hash = CGI::parse(some_string)

并且(作为奖励)从哈希回到网址字符串:

some_string = hash.to_query

感谢:https://www.ruby-forum.com/topic/69428

答案 1 :(得分:3)

使用Rack :: Utils.parse_nested_query(some_string)将为您提供更好的结果,因为CGI会将所有值转换为数组。

答案 2 :(得分:0)

在模型中,您可以编写类似

的查询
def to_param
  "-#{self.first_name}" +"-"+ "#{self.last_name}"
end

更多信息

http://apidock.com/rails/ActiveRecord/Base/to_param

它会生成一个类似http://ul.com/12-Ravin-Drope

的网址

更多友好的网址,您可以咨询

https://gist.github.com/cdmwebs/1209732