Я перестраиваю/редизайн сайта в 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 маршруты, чтобы осуществить это. Я пробовал это, и это сработало, но я не уверен, что лучший способ подойти к этой проблеме, чтобы я использовал наименьшее количество ресурсов.