playframework에서 main.scala.html에 전달하는 매개 변수를 추가하는 방법
기본값을 지정하여 호출 호환성을 유지하십시오!
main.scala.html 은
<html>
~ </html>
를 이미 기술해 사이트 전체에서 공통화된 레이아웃을 구현하는 목적으로 사용됩니다. 요점은 여기서 헤더나 꼬리말, 좌우의 컬럼등이 배치하는 것입니다만, 상황에 따라서 그 일부를 변경하고 싶은 것이 종종 있습니다. 예를 들면 「로그인중이면 오른쪽 상단에 로그아웃 버튼을 낸다」등이군요.이 경우, 단순히 main.scala.html 의 파라미터를 늘리는 것만으로는 에러가 되어 버립니다.
main.scala.html
@(title: String, uid:Option[String])(content: Html)
@main()
에 새로 추가 된 UID를 전달했음에도 불구하고 :not enough arguments for method apply: (title: String, uid: Option[String])(content: play.twirl.api.Html)play.twirl.api.HtmlFormat.Appendable in class main. Unspecified value parameter uid.
그리고 출력됩니다. 에러의 지적 장소도 선언 부분으로 보이네요.
이것은 다음과 같이 추가분의 파라미터에 디폴트치를 정의하는 것으로 회피할 수가 있습니다.
main.scala.html
@(title: String, uid:Option[String] = None)(content: Html)
이 거동으로부터의 추측이 됩니다만, playframework 는 에러 페이지의 표시등의 목적으로 내부적으로
main.scala.html
를 참조하고 있기 때문에, 파라미터 추가의 변경을 견딜 수 없는 것이 원인일까 생각합니다. 그래서 기본값을 지정하여 호출 호환성을 유지해야 하지요.그러나 이 손의 TIP 는 문서의 어디에 써 있을까…
Reference
이 문제에 관하여(playframework에서 main.scala.html에 전달하는 매개 변수를 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/torao@github/items/052a586ecbdb887154e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)