ruby-on-rails – RESTful路由中的控制器名称是可选的吗?
发布时间:2020-12-17 01:23:13 所属栏目:百科 来源:网络整理
导读:使用标准的map.resource路由机制和几个嵌套资源,生成的路由不必要地长.请考虑以下路线: site.org/users/pavelshved/blogs/blogging-horror/posts/12345 在routes.rb中创建很容易,我确信它遵循某种有益的路由逻辑.但它太长了,似乎也不是人类可读的. 一个很好
使用标准的map.resource路由机制和几个嵌套资源,生成的路由不必要地长.请考虑以下路线:
site.org/users/pavelshved/blogs/blogging-horror/posts/12345 在routes.rb中创建很容易,我确信它遵循某种有益的路由逻辑.但它太长了,似乎也不是人类可读的. 一个很好的改进是删除控制器名称,所以它看起来像: site.org/pavelshved/blogging-horror/12345 清晰,简单,简短.它可能变得模棱两可,但在我的情况下,我不打算给任何用户“用户”命名. 我尝试过设置:as => ”,但它产生这样的路线:site.org//pavelshved//blogging-horror//12345由标准助手生成它们. 有没有办法以这种方式映射资源,控制器名称变成可选的? 解决方法
您正在寻找资源的:path_prefix选项.
map.resources :users do |user| user.resources :blogs do |blog| blog.resources :posts,:path_prefix => '/:user_login/:blog_title/:id' end end 将为此表格的所有博客生成宁静的路线:site.org/pavelshved/bogging-horror/posts/1234.你需要付出额外的努力才能使用url helper,但是你自己的包装器无法快速修复. 摆脱url的帖子部分的唯一方法是使用命名路由,但这些需要一些重复才能使其变得安静.在尝试使用路径助手时,您会遇到同样的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – 如何使用补丁RequestId中间件或为什么Heroku不使用
- c# – Exchange Web服务管理API:访问其他用户项目
- 正则表达式 – 如何在Perl中检测空行?
- Flex (SDK 4.5) 中直接使用 H.264 编码视频
- 正则表达式匹配URL——给URL地址加上<a> 链接
- ruby-on-rails – Rails Bug?除非父母修改(嵌套形式),否则
- c# – 单元测试Void方法调用另一个void,启动Task()
- 正则表达式
- Caused by: org.xml.sax.SAXParseException; lineNumber: 1
- c# – 如何为Visual Studio 2015 RC / .NET Core项目创建单