我有一个帮助文件utils.scala.html,如下所示:
@renderTableRow(columnTag: String, columns: Seq[String]) = {
<tr>
@for(column <- columns) {
<@columnTag>
@column
</@columnTag>
}
</tr>
}
我想从其余的视图文件中调用这个帮助函数来创建表头。
@import views.html.mycommon.utils
@renderQuotesTable() = {
<table class="table table-bordered table-striped">
<thead>
@utils.renderTableRow("th", Seq("Name", "Date of Birth", "Age"))
</thead>
<tbody>
</tbody>
}
但是,我得到以下错误
值renderTableRow不是对象views.html.mycommon.utils的成员。
我在这里错过了什么?
答案 0 :(得分:1)
您无法导入其他模板的声明函数。执行sbt doc
并且在生成的Scala Doc中,它不是util对象中renderTableRow的线索。正如您在生成的模板源中看到的那样,“renderTableRow”被包装到apply方法中:“target / scala-2.10 / src_managed / main / views / html / mycommon / utils.template.scala”。
对于您想在另一个模板中使用的每个函数,您需要在真实的Scala单例对象中创建模板或函数。