【发布时间】:2013-12-07 21:29:19
【问题描述】:
我有一个项目,其中客户坚持所有内容 URL 都是顶级的。这包括跨不同资源类型的 URL,例如:
/products #=> The Category "products"
/privacy #=> A content-managed SystemPage "privacy"
/foo-bar-baz #=> An Article "foo bar baz" (user generated, no less)
显然,这是有问题的,至少引发了两个技术问题:
- 无法通过基于模式的方法处理路由
- 这些不同内容的 slug 在表中必须是唯一的。
更不用说它感觉与 Rails 本身是对立的,当然也不符合框架的预期模式。
话虽如此,我想知道是否有合理合理的方法来实现这一目标。
我的第一直觉是维护一个“slug”表,它将 slug 映射到资源类型并在站点根目录中通过 slug 执行查找,然后,如果可能的话,转发请求到适当的控制器。我即将研究这种可能性,但我想我应该看看其他人是否有解决这个问题的方法(除了解雇客户)。
【问题讨论】:
标签: ruby-on-rails url ruby-on-rails-4