Ruby on rails 动态路由轨道

Ruby on rails 动态路由轨道,ruby-on-rails,routing,Ruby On Rails,Routing,我正在使用以下路由定义的应用程序 get 'list/:city(/:zone)(/:district)' 当我想要捕捉像这样的URL时,它可以完美地工作 /list/milan /list/milan/milan-ovest /list/milan/milan-ovest/brera 现在,我们将移动到一些漂亮的URL,在那里我们需要在最后放置一个漂亮的名称。像这样的 /list/milan/renting-apartment-in-milan /list/milan/milan-ov

我正在使用以下路由定义的应用程序

get 'list/:city(/:zone)(/:district)'
当我想要捕捉像这样的URL时,它可以完美地工作

/list/milan
/list/milan/milan-ovest
/list/milan/milan-ovest/brera
现在,我们将移动到一些漂亮的URL,在那里我们需要在最后放置一个漂亮的名称。像这样的

 /list/milan/renting-apartment-in-milan
 /list/milan/milan-ovest/renting-apartment-in-milan-center
 /list/milan/milan-ovest/brera/renting-apartment-in-brera
我知道通配符,但我没能找到一个有效的解决方案。实际上,附加元素可以忽略,这意味着它不提供任何有用的信息


谢谢大家。

您可以始终在全局样式的路径中存根:

get 'list/*path'
这将捕获该点之后的任意数量的元素,并将它们作为参数[:path]提供给您,该参数将是一个数组

不利的一面是他们不会提前被打破,但你可以通过分配任务来解决:

city, zone, district, *extra = params[:path]