Bjo*_*che 21 scala playframework-2.0
我试图在play 2 scala教程中给出表单模板助手的说明.我陷入了"编写自己的字段构造函数"一节.它给出了一个示例模板(不说该文件的名称应该是什么):
@(elements: helper.FieldElements)
<div class="@if(elements.hasErrors) {error}">
<label for="@elements.id">@elements.label</label>
<div class="input">
@elements.input
<span class="errors">@elements.errors.mkString(", ")</span>
<span class="help">@elements.infos.mkString(", ")</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
然后它显示了这段代码:
object MyHelpers {
implicit val myFields = FieldConstructor(myFieldConstructorTemplate.f)
}
Run Code Online (Sandbox Code Playgroud)
我很困惑这应该与模板有什么关系.(例如,模板文件应该被称为myFieldConstructorTemplate.scala.html吗?)我尝试了一些没有运气的变化.
我是scala和Play的新手,但我也知道play 2和它的docs是新的,所以我不确定我错过了什么非常明显的东西.
谢谢!
c4k*_*c4k 17
我刚刚遇到同样的问题,我同意你的说法文件根本不清楚......
可能的错误1
not found: value FieldConstructor
Run Code Online (Sandbox Code Playgroud)
这意味着您没有使用此指令导入帮助程序:
@import helper._
Run Code Online (Sandbox Code Playgroud)
可能的错误2
not found: value implicitConstructor
Run Code Online (Sandbox Code Playgroud)
这意味着您在模板中的错误位置声明了字段构造函数(即:在@helper.form方法中).为了解决这个问题,我在导入指令之后声明了我的字段构造函数:
@import form._
@import helper._
@implicitConstructor = @{ FieldConstructor(foundation_field.render) }
Run Code Online (Sandbox Code Playgroud)
(我的foundation_field.scala.html文件位于views.form包中).
Per*_*ega 10
在本教程中,此代码沿着文本:
通常,您需要编写自己的字段构造函数.首先写一个模板,如:
这意味着您必须创建自己的模板(xxxx.scala.html)并在其中添加该代码.之后,您可以使用他们提供的代码在模板中导入它(请记住将其添加到使用自定义字段的每个scala模板):
@implicitField = @{ FieldConstructor(xxxx.f) }
Run Code Online (Sandbox Code Playgroud)
检查Play的样本,Forms样本使用与Twitter bootstrap类似的方法.
| 归档时间: |
|
| 查看次数: |
8916 次 |
| 最近记录: |