Rails 中的递归路线

发布于 2024-08-23 10:51:05 字数 408 浏览 2 评论 0原文

是否可以在 Rails 中创建递归路线?

我有一个应用程序,它允许管理员创建页面。页面模型是一个嵌套集,因此每个页面都有一个parent_id,因此页面是树状结构的。页面模型还使用Friendly ID插件为每个页面提供slugs。

当用户浏览网站时,我希望他们看到网址中的嵌套结构 - 这对于搜索引擎以及任何可能希望通过剪切网址来浏览网站的用户来说更好。

我想要类似的内容:

http://example.com/page/page/page/page ...等等

现在显然我可以创建一个包含 10 个嵌套的嵌套地图,并希望没有站点超过该限制,但我很好奇是否还有其他方法...

Is is possible to create a recursive route in Rails?

I have an application, which allows a admin to create pages. The page model is a nested set and so each page has a parent_id hence the pages are structured in trees. The page model also uses the Friendly ID plugin to provide slugs for each page.

When a user browses the site I would like them to see the nesting structure in the urls - its better for search engine purposes as well as any users who might like to browse the site by chopping the urls.

I want something along the lines of:

http://example.com/page/page/page/page ...etc

Now obviously I can create a nested map with say 10 nests and hope that no site exceeds that limit, but I'm curious if there is another way...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南薇 2024-08-30 10:51:05

您可以将初始路由 (/page) 映射到控制器,设置“globbing”对于所有尾随参数。

map.connect '/:page/*pages', :controller => 'pages', :action => 'show' 

params[:pages] 现在将包含页面参数数组(匹配您在 URL 中指定的尽可能多的尾随参数)。

You can map the initial route (/page) to the controller, setting up "globbing" for all the trailing parameters.

map.connect '/:page/*pages', :controller => 'pages', :action => 'show' 

params[:pages] will now contain an array of the page parameters (matching as many trailing params as you specify in the URL).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文