Vapor, 특히 사용자 지정 Leaf 태그 용 클래스에서 컨텍스트에 저장된 값을 검색하는 방법은 무엇입니까?Vapor에서 컨텍스트의 값을 검색하는 방법?
문자열과 경로를 사용하고 경로가 현재 페이지가 아니면 링크를 렌더링하는 태그를 구현하려고합니다. 예를 들어, #navElement("About Us", "/about")
은 모든 페이지에서 사이트의 약 페이지에 대한 링크를 생성합니다. 약 페이지 자체를 제외하고. 해당 페이지에 링크가없는 텍스트가 표시되어야합니다.
:
drop.get(":page"){ request in
return try drop.view.make(thePage, ["path": request.uri.path])
}
템플릿에 #(path)
을 사용할 수 있으며 예상대로 경로를 볼 수 있습니다.
내 사용자 정의 태그는 Tag
에서 파생되었으며 해당 run
메소드는 컨텍스트를 인수로받으며 거기에 저장된 값을 디버거에서 볼 수 있습니다. 그러나 어떻게 얻을 수 있습니까? 이 작업을 수행하는 것으로 보이는 Context
클래스의 get
메서드는 internal
이므로 사용할 수 없습니다. 하위 스크립트가 완료되어야한다고하는 주석이 있으며, 궁극적으로 컨텍스트에서 값을 추출하는 방법이라고 가정합니다. 그러나 그 동안에는 검색 할 수있는 방법이 있습니까?
감사합니다. 태그를 사용할 때마다이 인수를 반복하지 않으려 고합니다. 그리고 이미'run' 메서드에서 컨텍스트를 가지고 있으므로 거기에서 경로를 추출 할 수 있기를 바랬습니다. – MacAvon
해결 방법을 사용하여 업데이트 참조 – tobygriffin
찾아 주셔서 감사합니다. 문맥을 '실행'으로 전달할 때 이상한 결정 인 것 같지만, 이유를 밝히지 않는 것이 좋습니다. 제안 된 해결 방법은 나를위한 트릭입니다. – MacAvon