Для нескольких проектов мне нужно что-то, чтобы упростить мои маршруты, чтобы удалить имя контроллера для одного из наиболее важных маршрутов. В этом случае издания, поэтому вместомаршруты рельсов и настраиваемая маршрутизация для вложенного ресурса
domain.com/editions/london/venues/the-venue
Мы используем ->
domain.com/london/venues/the-venue
Я использую эту формулу для моей маршрутизации:
# MUST BE LAST
resources :editions, path: '' do
get 'set_session', on: :member
resources :events
resources :quiz_masters
resources :venues
end
И это прекрасно работает, но Я чувствую, что в этом есть что-то неприятное. Мне интересно, есть ли лучшая альтернатива, у которой также есть ограничения, поэтому мне не нужно беспокоиться о том, чтобы придерживаться ее всегда в нижней части моих маршрутов.
Я также не уверен path: ''
- это хороший способ сделать это? Хотя это работает.
например, я мог бы каким-то образом ограничить его: '= constraints => proc {| req | Edition.all.map (&: slug) .include? (Req.params [: edition_id])} '? – ere
Это то, с чем мы тоже боролись - лучшее, что у нас есть, - это то, что вы задали в своем вопросе, если у вас есть один экземпляр, который не хочет использовать определение ресурсов в самих маршрутах. –
Да, это просто чувствует немного похоже на хак. С одной стороны, мне не нравится открывать все маршруты с помощью пути: «» с другой стороны мне не нравится идея помещать ограничение на мои маршруты, которые должны касаться БД! DIRTY! – ere