我想在我的应用程序中使用以下URL路由:/:username/:resource_name
。因此,当我输入http://www.mywebsite.com/john/apple
时,它会加载名为apple
的资源,该资源属于john
。如果john
或apple
不存在,则会显示一条消息,指出用户或资源不存在。
当我创建该路线时,它会转到路线列表的顶部(rake routes
)。通过这种方式,它会与其他路由混淆,例如/users/sign_in
,并且它表示资源sign_in
不存在。
我想要做的是将我的路线/:username/:resource_name
发送到路线列表的底部,这是最后一个匹配的路线。这可能吗,它能解决我的问题吗?或者还有另一种方法可以让它发挥作用吗?
答案 0 :(得分:0)
这很有可能。 routes文件是线性的 - 首先定义的路由优先于后面列出的路由。只需将该路线放在文件的底部即可。
答案 1 :(得分:0)
应该这样做,因为路由文件匹配自上而下。请参阅此处以获得更好的解释:http://guides.rubyonrails.org/routing.html