早上好人!..
General Routing Quesiton Here ...我正在努力为我的应用程序中的用户实现类似于此的路由。
然后映射到usersControllers#show,因此我的路由文件中包含以下内容。
map.connect'/:permalink',: controllers => “users”,:action => “显示”
然后我得到了show动作,通过参数中的永久链接找到用户。所以它的作品可是......
我遇到的问题是所有其他UNDEFINED路由都被发送到userController #show。即404和&其他未命名的路线。所以我不认为我会采用正确的惯例。我的解决方案是在上面添加其他命名路由,这解决了问题,但对我来说似乎很脆弱。我在考虑这个错误吗?
什么是更好的解决方案?我会去谷歌搜索答案,但我只是想把它扔掉讨论。想法?
答案 0 :(得分:1)
你做得对。 Rails路由从顶部的高优先级到底部的低优先级。您的用户显示操作应该在底部。只要确保如果永久链接不对应于用户,则生成正确的404。
答案 1 :(得分:1)
如果您的用户名与您网站上的其他网址相同,该怎么办? 这似乎是一个等待发生的麻烦。
只需将其更改为http://www.example.com/user/username
即可这样您就可以为所有基于用户名的URL创建“用户”命名空间。