抱歉我的英语......可能重复:
How do I easily parse a URL with parameters in a Rails test?
我的archives.rb模型中有一个从html内容中获取所有src属性的方法,我得到的结果如下:
http://localhost:3000/es/editor/archives/28/show_image?x=142&y=142
我需要从该网址获取参数,具体为: id,x,y
谢谢, 问候。
答案 0 :(得分:15)
正确方法:
url = "http://localhost:3000/es/editor/archives/28/show_image?x=142&y=142"
uri = URI::parse(url)
id = uri.path.split('/')[4]
params = CGI::parse(uri.query)
答案 1 :(得分:1)
在你的控制器中你可以做'params [:x]'和'params [:y]'。例如:
x = params[:x]
y = params[:y]
答案 2 :(得分:-18)
可以使用一些正则表达式来完成,例如
irb(main):011:0> s = "http://localhost:3000/es/editor/archives/28/show_image?x=142&y=142"
=> "http://localhost:3000/es/editor/archives/28/show_image?x=142&y=142"
irb(main):012:0> s[/.*\/(\d+).+x=(\d+).*y=(\d+)/,1]
=> "28"
irb(main):013:0> s[/.*\/(\d+).+x=(\d+).*y=(\d+)/,2]
=> "142"
irb(main):014:0> s[/.*\/(\d+).+x=(\d+).*y=(\d+)/,3]
=> "142"
irb(main):015:0>