获取此网址的一部分的最佳方法是什么

时间:2014-12-21 22:23:02

标签: ruby-on-rails url

我正在创建像这样的链接:

<%= link_to('', "#{issueable}/#{order.id}/issues" %>

创建一个这样的链接:

  

/版本2 /部件/ 2418 /问题

我希望能够获得&#34;部分&#34; (/ version2 / parts / 2418 / issues)当用户点击指向该控制器方法的链接时该网址的一部分。

3 个答案:

答案 0 :(得分:1)

换句话说,您有一个字符串"/version2/parts/2418/issues",并且您希望从中提取'parts'位置。

"/version2/parts/2418/issues".split('/')[-3]

你需要弄清楚自己是从分裂数组得到[2]还是[-3]。作为补充的&#39; /&#39;在开始或结束时可能搞砸了。

答案 1 :(得分:1)

你可以使用正则表达式,假设你知道它以“version2”开头,并且知道order_id到达它时。

"/version2/parts/2418/issues".match(/\/version2\/(\w+)\/2418/)
puts $1

答案 2 :(得分:1)

您可以使用split

link = "root/version2/parts/2418/issues"
puts link.split('/')[2].strip
#outputs parts 

link = "version2/parts/2418"
puts link.split('/')[1].strip
#outputs parts 

Ruby fiddle