Предположим, что приложение Rails рисует следующие маршруты (т. Е. Это то, что будет показывать rake routes
):
Verb URI Pattern Controller#Action
GET / one#show
GET / two#show
GET / three#show
Каков порядок сопоставления этих маршрутов при запросе корневого пути (т. Е. /
))?Какие факторы определяют, какой маршрут сопоставляется первым?
Справочная информация : я столкнулся с приложением Rails (Discourse), для которого я пишу плагин.Приложение Rails устанавливает набор корневых маршрутов через root to:
в своем файле rout.rb.Мой плагин пытается предоставить свой собственный корневой маршрут следующим образом:
Discourse::Application.routes.append do
root to: 'custom#show'
end
… добавление нового маршрута к выводу из rake routes
:
Verb URI Pattern Controller#Action
GET / one#show
GET / two#show
GET / three#show
GET / customshow
Моя проблема в том, что я не являюсьНевозможно заставить этот новый корень иметь приоритет над другими корневыми маршрутами.Я попытался использовать prepend
вместо append
, который перемещает пользовательский корневой маршрут в верхнюю часть вывода, но он все еще не сопоставляется первым.
Редактировать : Предположительно, маршрутысопоставляются в порядке, в котором они указаны, независимо от порядка вывода rake routes
.