在 Play [2.4.x] 中是否可以检测到 Twirl 模板的实际文件名?
In Play [2.4.x] is it possible to detect a Twirl template's actual file name?
我希望在 HTML 的输出中放置标记(仅在开发期间),这样我就可以准确地知道在任何给定时间调用了哪些模板和片段。 (这是一个庞大且不断增长的图书馆...)
目前我有这样的东西:
@if(tkAuthenticatedRequest.isDev) {<!-- mystuff.myform.helpers.snippet.scala.html -->}
这当然有效,但容易出错或遗漏。
我们可以检测到实际的文件名并让它自动渗透吗?
是否有更好的方法可以将其附加到 dev 而根本不需要身份验证?虽然我已经 lazy val
了 isDev 调用,所以它只有一次点击,但我愿意接受更好的想法。
如果你想要实际的文件名,神奇的答案如下:
@if(tkAuthenticatedRequest.isDev) {
<!-- @Option(this.getClass().getProtectionDomain().getCodeSource()).map(x => x.getLocation()) -->
}
请注意,Twirl 很难理解它,除非它被分成三行,因此您可能想从中创建一个 Util 函数,然后将 this.getClass() 传递给该函数。
我希望在 HTML 的输出中放置标记(仅在开发期间),这样我就可以准确地知道在任何给定时间调用了哪些模板和片段。 (这是一个庞大且不断增长的图书馆...)
目前我有这样的东西:
@if(tkAuthenticatedRequest.isDev) {<!-- mystuff.myform.helpers.snippet.scala.html -->}
这当然有效,但容易出错或遗漏。
我们可以检测到实际的文件名并让它自动渗透吗?
是否有更好的方法可以将其附加到 dev 而根本不需要身份验证?虽然我已经 lazy val
了 isDev 调用,所以它只有一次点击,但我愿意接受更好的想法。
如果你想要实际的文件名,神奇的答案如下:
@if(tkAuthenticatedRequest.isDev) {
<!-- @Option(this.getClass().getProtectionDomain().getCodeSource()).map(x => x.getLocation()) -->
}
请注意,Twirl 很难理解它,除非它被分成三行,因此您可能想从中创建一个 Util 函数,然后将 this.getClass() 传递给该函数。