我试图在我的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
。
答案 0 :(得分:0)
你可以添加另一条路线......
get 'l/:location_id/(*url_title)', to: 'locations#show'
没有理由说两条路线无法映射到同一个动作。