Задача немного тривиальная, но пока Ruby & Rails я плохо знаю.
В общем планируется сайт фотостудий. Внутри каждой есть фотографии и, возможно, разделы.
Планируется следующий ЧПУ
/:company/:photo/
или
/:company/:category/:photo
Понимаю, что нужно как-то скомпоновать
вложенные ресурсы и
сегменты.
Плюс нужно как-то уложить это все в то, что фотографии загружают фотографы, которые могут работать с несколькими студиями (то, чего я совсем не ожидал). Получается, что зайдя внутрь студии, они могут загрузить фото сразу в эту студию без лишних вопросов. Я думаю, это можно как-то сделать используя 2 разных правила.
И теперь самый неприятный момент - у компаний и категорий 100% могут быть человеческие псевдонимы и тут кроется загвоздка - как совместить id & alias. Единственное - создание constraint'а, который будет понимать, что переданы только цифры и это можно считать id, а если буквы, то псевдоним.
Непонятно только как будет работать такое
/ooo-romashka/23/17.
Начало я себе так представляю
get '/:id', to: 'company#show', constraints: { id: /^\d.+$/ }
get '/:alias', to: 'company#show'
Но ведь это read-only. Как сделать полноценный RESTfull?