# 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;在配置文件路由之前的路由。
答案 0 :(得分:0)
关于模式匹配的全部内容。
添加一些常量文本以消除歧义 - 例如,
get 'manage/profile/:type', to: 'manage#profile', as :profile
get 'manage/detail/:id', to: 'manage#detail', as :detail