我正在转换一堆用 php 编写的登录页面,以便将它们添加到我的基于 RoR 的站点(现在已经存在 2 年多了)。这些登录页面分为几个版本,但不幸的是,就 URL 名称而言,它们并没有一致性。我的问题是我正在转换的 php 页面已经有很高的页面排名,因此我想保持它们的 URL 完全一样。
我不确定如何设置我的 routes.rb 以便 example.com/* 将始终转到我的主页;但是,当 (* == 'name-of-one-of-the-landing-pages') Rails 将路由到单独的控制器时,特定的操作将根据初始化程序和参数哈希确定要呈现的页面,所有这一切,而 URL 如前所述,与 php-to-RoR 转换之前的 URL 相同,即 www.example.com/name_of_landing_page,而不是 www.example.com/*controller_name*/name_of_landing_page。
我知道 :path 属性,如果传递一个空字符串(即resources :examples, :path => ''
),则可以从路径中排除控制器名称,但这并不能完全解决整个问题。
我正在考虑编写一个初始化程序来保存所有相关登录页面的哈希,并使用 routes.rb 中的约束来检查它,但我不确定这种实现是否可行以及如何去做。一个代码示例将不胜感激。
routes.rb 是否有某种语法可以让我这样做,或者可能是更好的解决方案?