Если вы хотите понять маршрут Rails, лучшим местом для начала является Rails Routing from the Outside In в направляющей кромки.
После этого у вас будет больше удачи, глядя на ActionDispatch::Routing
's docs.
Примечание. Следующее относится к Journey v1.0.4, который был последним на момент написания.
Само путешествие - это маршрут маршрутизации Rails introduced в Rails 3.2. В примечаниях к выпуску описывается одно заявление: «Признание маршрута также стало быстрее благодаря новому двигателю Journey». Конечно, это не так много информации о путешествиях, но Rails не описывает каждую деталь реализации; это навсегда! :) Journey's gemspec также описывает себя с утверждением: «Путешествие - это маршрутизатор, который направляет запросы».
Вы можете посмотреть на api docs, но в v1.0.4, он имеет крайне разреженную документации (Journey :: Router :: Utils.normalize_path (путь) является documented), кроме code itself и, может быть, его open и closed вопросов. Вы можете взглянуть на другого С.О. сообщения с тегом journey.
Некоторые из кода несколько самоописательны только через имена методов и т. Д., Как в Journey::Routes. Journey's tests также отличный способ увидеть, как это работает.
Некоторые заметки о самом коде:
- Он monkey-patches Hash в предварительно 1,9-версии Ruby, чтобы добавить метод keep_if.
- «GTG» означает «обобщенный граф переходов» (см here)
- Funniest кода here (Пасхальное яйцо:
rails c
затем Journey::Path::Pattern.new(9)
)
Поездка visualizer может быть интересно играть с, а также (примечание visualizer метод в путешествии :: GTG :: TransitionTable). Пример визуализации here и онлайн-демо here пока.
интересно, синопсис говорит «Слишком сложно прямо сейчас. : (' – fontno