Я думаю о разных разделах сайта веб-приложения Rails 3. Разделы сайта должны показывать одни и те же ресурсы, используя тот же контроллер и те же представления.
Таким образом, http://foo.org/premium/products/1
должен представлять тот же продукт, что и http://foo.org/products/1
(возможно, с некоторыми изменениями, зависящими от раздела).
Для обработки того, что я думал о переписывании URL-адреса (может быть, в rout.rb, на уровне стойки или на уровне сервера), так что http://foo.org/premium/products/1
становится http://foo.org/products/1?section=premium
. Есть ли лучшие решения для этого?
Но настоящая проблема, которую я вижу, заключается в создании ссылок на этих сайтах, поскольку те должны сохранить раздел. Например. ссылка на сайте http://foo.org/premium/products/1
на товар с идентификатором 2 должна быть http://foo.org/premium/products/2
, а не http://foo.org/products/2?section=premium
.
К сожалению, это не так тривиально, как link_to и * _path не знают о разделах. Я также хочу сделать это очень динамичным, чтобы я мог легко добавлять и удалять разделы, не касаясь статических маршрутов.
Я думал о переписывании URL-адресов после того, как они были сгенерированы link_to
. Будет ли это хороший подход? Любые другие предложения?