У меня есть приложение rails, где я бы хотел ввести некоторые статические страницы. Поскольку у моего приложения есть как «публичное» лицо, так и комплексный админ-сервер, я решил переместить мои контроллеры в соответствующие подпапки, поэтому приложения/контроллеры содержат только две вложенные папки.Оптимальный способ обработки статических маршрутов страниц
Сейчас я создаю раздел политики с политиками компании.
Я пришел к этому решению до сих пор, но это не работает
namespace :policy, path: 'politik' do
get 'miljoe'
get 'kvalitet'
get 'kunde'
get 'personale'
end
Это создает следующие маршруты:
policy_miljoe GET /politik/miljoe(.:format) policy#miljoe
policy_kvalitet GET /politik/kvalitet(.:format) policy#kvalitet
policy_kunde GET /politik/kunde(.:format) policy#kunde
policy_personale GET /politik/personale(.:format) policy#personale
Короткие маршруты и правильные пути. Это все отлично, за исключением ... Он выглядит в приложении/контроллерах для контроллера, а не в приложении/контроллерах/публике. Добавление
namespace :policy, path: 'politik', controller: 'public/policy' do
не делает трюк.
Мой единственный «решение» до сих пор было создать поддельный маршрут ресурсов, указывающий на контроллер и сделать дополнительные маршруты сбора, как это:
resources :policy, path: 'politik', controller: 'public/policy', only: [] do
collection do
get 'miljoe'
get 'kvalitet'
get 'kunde'
get 'personale'
end
end
Это работает, но
- Присоединяет индексируйте помощники URL-адресов без видимых причин, поэтому вместо policy_miljoe_path я получаю miljoe_policy_index_path.
- читается странным образом, потому что ресурсы подразумевают спокойствие, и нет ничего спокойного в этих страницах.
Как лучше/наиболее элегантно объявить эти статические страницы в маршрутизаторе и поддерживать структуру URL-адрес, который выглядит отличается от моей структуры каталогов /politik/kvalitet
в маршрутизаторе, но /public/policy/kvalitet
в структуре папок?