В моем проекте есть файлы и папки, представленные моделями File
и Folder
. Проект функционально завершен, и теперь я пытаюсь очистить схему URI, сохранив мои именованные маршруты.
Мой маршрут содержит простой вложенный ресурс:
resources :folders do
resources :files
end
В настоящее время folder_file_path(@folder, @file)
выводит:
/folders/12/files/3
Я переопределил to_param
для вывода удобочитаемого слага, получая
/folders/my-folder/files/my-file
Я бы хотел пойти дальше и удалить лишние сегменты folders
и files
из URI. Как я могу изменить свой вложенный resources
так, чтобы folder_file_path
выводил следующее?
/my-folder/my-file
Я бы хотел сохранить свои маршруты простыми, используя вложенный resources
вместо перехода к более длинному беспорядку с именованными маршрутами, вот как я в настоящее время достиг этого:
get ':folder_slug' => 'folders#show', :as => 'folder'
get ':folder_slug/edit => 'folders#edit', :as => 'edit_folder'
# ...
delete ':folder_slug' => 'folders#destroy', : as => 'folder'
get ':folder_slug/:file_slug' => 'files#show', :as => 'folder_file'
get ':folder_slug/:file_slug/edit' => 'files#edit', :as => 'edit_folder_file'
# ...
delete ':folder_slug/:file_slug' => 'files#delete', :as => 'folder_file'