在Play 2中创建自定义字段构造函数(scala)

在Play 2中创建自定义字段构造函数(scala),scala,playframework-2.0,Scala,Playframework 2.0,我正在尝试摸索为表单模板助手提供的说明。我被困在“编写自己的字段构造函数”一节中。它给出了一个示例模板(没有说明文件的名称): 我对这应该如何与模板相关感到困惑。(例如,模板文件应该称为myFieldConstructorTemplate.scala.html吗?) 我对scala和Play都是新手,但我也知道Play2和它的文档都是新的,所以我不确定我遗漏了什么非常明显的东西 谢谢 在本教程中,此代码如下所示: 通常,您需要编写自己的字段构造函数。开始 编写模板,如: 这意味着您必须创建自己的

我正在尝试摸索为表单模板助手提供的说明。我被困在“编写自己的字段构造函数”一节中。它给出了一个示例模板(没有说明文件的名称):

我对这应该如何与模板相关感到困惑。(例如,模板文件应该称为myFieldConstructorTemplate.scala.html吗?)

我对scala和Play都是新手,但我也知道Play2和它的文档都是新的,所以我不确定我遗漏了什么非常明显的东西


谢谢

在本教程中,此代码如下所示:

通常,您需要编写自己的字段构造函数。开始 编写模板,如:

这意味着您必须创建自己的模板(
xxxx.scala.html
)并在其中添加代码。然后,使用模板提供的代码将其导入模板中(请记住将其添加到使用自定义字段的每个scala模板中):


查看播放示例,表单示例使用了与Twitter引导类似的方法。

我刚刚遇到了同样的问题,我同意您的看法,文档一点也不清楚

可能的错误1

not found: value FieldConstructor
这意味着您没有按照以下说明导入帮助程序:

@import helper._
可能的错误2

not found: value implicitConstructor
这意味着您在模板中的错误位置(即@helper.form方法中)声明了字段构造函数。为了解决这个问题,我在导入说明之后声明了我的字段构造函数:

@import form._
@import helper._

@implicitConstructor = @{ FieldConstructor(foundation_field.render) }

(My foundation_field.scala.html文件位于views.form包中)。

为了遵循scala implicit关键字的逻辑,文档也是隐式的;)

Scala和Play目前还太不成熟,因此文档很差

这个答案很好:

您还可以查看播放源以了解更多示例:


或者这家伙似乎发现了解决方案:

你试过把它叫做
myFieldConstructorTemplate.scala.html
?因为据我所知,这就是它应该如何运作的我看到这个文件对理解初始化字段构造函数有一些帮助嗯,这是我尝试的第一件事,但没有成功。可能是打字错误吧?我再试试。谢谢2.4版本的文档建议
隐式val myFields=FieldConstructor(html.xxxx.f)
。我用其他模板在
视图
目录中创建了
xxxx.scala.html
,因此我需要
隐式val myFields=FieldConstructor(views.html.xxxx.f)
@import helper._
not found: value implicitConstructor
@import form._
@import helper._

@implicitConstructor = @{ FieldConstructor(foundation_field.render) }