【发布时间】:2017-02-08 21:06:52
【问题描述】:
我正在使用 Magento 在 Rails 中重建/重新设计一个网站,该网站目前正在生产中。为了确保我不会降低我的 seo 排名,我保持我的 URI 相同。我正面临一个优化问题,因为当前站点没有子目录。话虽如此,产品在网站根目录下,评论在网站根目录下,所有其他内容页面都在网站根目录下。 例如,产品可能在
www.example.com/some-product-name
评论可以在
www.example.com/some-review-name
rails 显然使用了路由,我的第一个猜测是创建一个如下所示的路由:
get '/:uri_identifier', to: 'pages#find_page'
这很好用,但是要查询 50k 产品和 5k 评论以及另外 200 个不同的内容页面,这会产生一个优化问题,因为这个控制器方法变成了一个包罗万象的方法,以确定它应该基于哪个页面呈现
params[:uri_identifier]
uri 也没有任何形式,因此使用 if 语句过滤它们以避免大量查询实际上是不可行的。我的想法是为评论创建特定的路线并将它们添加到路线上方的 routes.erb 中
get '/:uri_identifier', to: 'pages#find_page'
但我仍然需要创建近 5k 条路线才能实现这一目标。我确实尝试了这个并且它有效,但我不确定解决这个问题的最佳方法是什么,以确保我使用最少的资源。
【问题讨论】:
标签: ruby-on-rails ruby