在Ruby on Rails中更改路由顺序

时间:2014-01-08 18:06:29

标签: ruby-on-rails

我想在我的应用程序中使用以下URL路由:/:username/:resource_name。因此,当我输入http://www.mywebsite.com/john/apple时,它会加载名为apple的资源,该资源属于john。如果johnapple不存在,则会显示一条消息,指出用户或资源不存在。

当我创建该路线时,它会转到路线列表的顶部(rake routes)。通过这种方式,它会与其他路由混淆,例如/users/sign_in,并且它表示资源sign_in不存在。

我想要做的是将我的路线/:username/:resource_name发送到路线列表的底部,这是最后一个匹配的路线。这可能吗,它能解决我的问题吗?或者还有另一种方法可以让它发挥作用吗?

2 个答案:

答案 0 :(得分:0)

这很有可能。 routes文件是线性的 - 首先定义的路由优先于后面列出的路由。只需将该路线放在文件的底部即可。

答案 1 :(得分:0)

应该这样做,因为路由文件匹配自上而下。请参阅此处以获得更好的解释:http://guides.rubyonrails.org/routing.html