I am trying to grok the instructions given in the play 2 scala tutorial for form template helpers. I am getting stuck in the section “Writing your own field constructors”. It gives a sample template (without saying what the name of the file should be):
@(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>
Then it shows this code:
object MyHelpers {
implicit val myFields = FieldConstructor(myFieldConstructorTemplate.f)
}
I am confused about how this is supposed to relate to the template. (eg, is the template file supposed to be called myFieldConstructorTemplate.scala.html?) I tried some variations on this without luck.
I’m new to both scala and Play, but I also know play 2 and its docs are new, so I’m not sure what incredibly obvious thing I’m missing.
thanks!
In the tutorial this code is along the text:
This means you have to create your own template (
xxxx.scala.html) and add that code inside. After that, you import it in your template with the code they provide (remember to add that to each scala template that uses your custom field):Check the samples of Play, the Forms sample uses a similar approach with Twitter bootstrap.