Как в Vapor, особенно в классе для настраиваемого тега Leaf, получить значения, хранящиеся в контексте?
Я пытаюсь реализовать тег, который принимает строку и путь и отображает ссылку, если путь не является текущей страницей, поэтому, например, #navElement("About Us", "/about")
создаст ссылку на страницу about сайта на каждой странице, кроме страницы about сам. На этой странице он должен отображать текст без ссылки.
Я не хочу передавать текущий путь к тегу каждый раз, когда я его использую, поэтому я сохранил путь запроса в контексте примерно так (проверки опущены):
drop.get(":page"){ request in
return try drop.view.make(thePage, ["path": request.uri.path])
}
Я могу использовать #(path)
в шаблоне и видеть ожидаемый путь.
Мой настраиваемый тег является производным от Tag
, а его метод run
получает контекст в качестве аргумента, и я могу видеть сохраненное значение там в отладчике, но как мне это получить? Метод get
в классе Context
, который, кажется, делает это, - это internal
, поэтому я не могу его использовать. Есть комментарий, в котором говорится, что индексы должны быть выполнены, и я предполагаю, что в конечном итоге это будет способ извлечения значений из контекста, но пока есть ли способ их получить?