2017-02-08 3 views
0

Я перестраиваю/редизайн сайта в Rails, который в настоящее время находится в производстве с использованием Magento. Чтобы гарантировать, что я не опускаю свои рейтинги, я сохраняю свой URI одинаково. Я столкнулся с проблемой оптимизации с этим, потому что текущий сайт не имеет подкаталогов. С учетом сказанного, продукты находятся под корневым каталогом сайта, обзоры находятся в корневом каталоге сайта, а все остальные страницы содержимого находятся в корневом каталоге сайта. , например, продукт может бытьRuby On Rails Overlapping Routes

www.example.com/some-product-name 

и обзор может быть

www.example.com/some-review-name 

рельсов, очевидно, используют маршруты и моя первая догадку сделать маршрут, который выглядит следующим образом:

get '/:uri_identifier', to: 'pages#find_page' 

Это прекрасно работает, но с 50 тыс. Продуктами для запроса и 5 тыс. Обзоров вместе с еще 200 различными страницами контента это создает проблему оптимизации, так как этот контроллер м еню становится поймать все, чтобы выяснить, какие страницы он должен вынести на основе

params[:uri_identifier] 

Ури не имеют какой-либо форме, либо так фильтрации их, если заявление, чтобы избежать большого количества запросов не очень возможно. Моя идея состояла в том, чтобы создать маршруты для конкретных обзоров и добавить их в routes.erb над трассой

get '/:uri_identifier', to: 'pages#find_page'  

, но я все равно придется создавать близкие к 5k маршруты, чтобы осуществить это. Я пробовал это, и это сработало, но я не уверен, что лучший способ подойти к этой проблеме, чтобы я использовал наименьшее количество ресурсов.

ответ

0

Существует несколько шаблонов для решения таких проблем в рельсах. Одним из них является ограничение на разрыв. Используйте эти ресурсы, они помогают с концепцией использования слизней и рефакторинга больших Рельсы маршруты

  1. http://blog.arkency.com/2014/01/short-urls-for-every-route-in-your-rails-app/
  2. http://code-worrier.com/blog/custom-slugs-in-rails/
  3. Refactoring a large routes.rb file in rails 4