可能重复:
How do I easily parse a URL with parameters in a Rails test?铁轨,如何从URL字符串获取参数?
对不起我的英语...
我在archives.rb模型的方法来获取所有SRC从HTML内容属性,我越来越像src:
http://localhost:3000/es/editor/archives/28/show_image?x=142&y=142
我需要从网址,以获取参数,可以明确:ID,X,Y
感谢, 问候。
可能重复:
How do I easily parse a URL with parameters in a Rails test?铁轨,如何从URL字符串获取参数?
对不起我的英语...
我在archives.rb模型的方法来获取所有SRC从HTML内容属性,我越来越像src:
http://localhost:3000/es/editor/archives/28/show_image?x=142&y=142
我需要从网址,以获取参数,可以明确:ID,X,Y
感谢, 问候。
它可能使用一些正则表达式例如
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>
在你的控制器中,你可以做'params [:x]'和'params [:y]'。例如:
x = params[:x]
y = params[:y]
感谢,但是...我不能这样做,第一:我的代码在模型中,第二个url是从html文本代码中提取的字符串。 –
有很多方法可能会失败。当健壮的解析器已经存在时,我们不要使用片状正则表达式。 –
这样一个不好的答案,使用CGI解析在dup答案链接中解释。 – DGM
我不同意我的答案是**穷**,而DGM的答案是**正确的**因为两种方法都依赖于网址的结构,我的所有三个参数以及DGM都可以获得和ID。如果url不同,两者都会失败。 我同意使用CGI获取x和y值看起来很漂亮。 – Bohdan