Ruby on Rails可选路由段

时间:2015-09-28 21:39:18

标签: ruby-on-rails ruby

我试图在我的Rails应用程序中使用可选参数创建两个路由。

这是我的路线档案:

get '(a)(/:area_id/)l/:location_id/(*url_title)', to: 'locations#show', as: :location
get 'a/:area_id/(*url_title)', to: 'areas#show', as: :area

导航到以下网址正确地将我路由到正确的控制器:

http://localhost:3000/a/1/l/2/seo-friendly-title.html
http://localhost:3000/a/1/seo-friendly-title.html

但是,导航到此网址不起作用:

http://localhost:3000/l/2/seo-friendly-title.html

我收到No route matches错误。当a/:area_id部分存在时,是否可以使l/:location_id部分可选?

使用Rails 4.2.4

1 个答案:

答案 0 :(得分:0)

你可以添加另一条路线......

get 'l/:location_id/(*url_title)', to: 'locations#show'

没有理由说两条路线无法映射到同一个动作。