rails 4路由匹配顺序

时间:2014-11-17 01:26:21

标签: ruby-on-rails-4 routes

# Individual Page
get '/manage/:type', to: 'manage#profile', as: :profile

# Detail Page
get '/manage/:id', to: 'manage#detail', as: :detail

在上面的代码中,即使我创建了一个诸如

之类的URL
<%= link_to "Detail Page", detail_url(:id => 2) %>

它仍然适用于管理控制器的配置文件操作(即使它要求类型而不是 id )。

这是rails 4.1中的预期行为,还是我做错了什么?

我认为,如果我有一个命名路线,我可以传递适当的参数(:id =&gt; 2),并让它跳过第一条路线,只是因为它与路线名称不匹配。

当然,如果我颠倒了订单,并按照&#34;细节&#34;在配置文件路由之前的路由。

1 个答案:

答案 0 :(得分:0)

关于模式匹配的全部内容。

添加一些常量文本以消除歧义 - 例如

get 'manage/profile/:type', to: 'manage#profile', as :profile

get 'manage/detail/:id', to: 'manage#detail', as :detail