Я определил пользовательские URL-пути в routs.rb, но мои помощники _path
и _url
создают дополнительные неправильные маршруты.
routes.rb
get '/:id', to: 'groups#show', constraints: proc {|req| FriendlyId::Slug.where(sluggable_type: 'Group').pluck(:slug).include?(req.params[:id])}, as: :group
get '/:id', to: 'custom_pages#show', constraints: proc {|req| FriendlyId::Slug.where(sluggable_type: 'CustomPage').pluck(:slug).include?(req.params[:id])}, as: :custom_page
get ':group_id/:id', to: 'exams#show', constraints: proc {|req| FriendlyId::Slug.where(sluggable_type: 'Exam').pluck(:slug).include?(req.params[:id])}, as: :exam
Ожидаемые маршруты:
- / заказ /
- / тест /
- / тест / экзамен /
Фактические маршруты:
- / заказ /
- / тест /
- / тест / экзамен / (загружается, но не определено
_path
или _url
)
- / экзамен / (определено для
_path
& _url
)
Таким образом, загружаются все нужные маршруты, но помощники _path
и _url
постоянно отображают неверный путь для экзамена (/exam/
), несмотря на то, что они не находятся в маршрутах. : /
Что я делаю не так?