1

大家早上好!..

General Routing Quesiton Here... 我目前正在为我的应用程序中的用户实现与此类似的路由。

http://www.example.com/用户名

然后映射到 usersControllers#show,因此我的路由文件中有以下内容。

map.connect '/:permalink', :controllers => "users", :action => "show"

然后,我通过参数中的永久链接获得了显示操作来查找用户。所以它的工作原理但是....

我遇到的问题是所有其他未定义的路由都被发送到 userController#show。即 404 和其他未命名的路线。所以我不认为我会为此采用正确的约定。我的解决方案是在此之上添加其他命名路由,这解决了问题,但对我来说似乎很脆弱。我想错了吗?

有什么更好的解决方案? 我要去我的谷歌寻找答案,但我只是想我会把这个扔给讨论。想法?

4

2 回答 2

1

你做对了。Rails 路由从顶部的高优先级到底部的低优先级。您的用户显示操作应该在底部。只要确保如果永久链接与用户不对应,则会生成正确的 404。

于 2009-06-26T14:45:52.887 回答
1

如果您的用户名与您网站上的其他 URL 相同,该怎么办?这似乎是一个等待发生的麻烦。

只需将其更改为http://www.example.com/user/username

这样,您就可以为所有基于用户名的 URL 创建一个“用户”命名空间。

于 2009-06-27T02:15:20.910 回答