FieldConstructor:
@(implicit elements: views.html.helper.FieldElements, Messages: play.i18n.Messages)
@errorMessage = @{elements.args.getOrElse(Symbol("errorMessage"), "").asInstanceOf[String]}
<div class="field">
<label for="@elements.id">@elements.label
@if(elements.args.get(Symbol("required"))){
<span class="mandatory-indicator">*</span>
}
</label>
@elements.input
@if(elements.args.get(Symbol("ngShow"))){
<div class="lerror" ng-show='@elements.args.get(Symbol("ngShow"))' ng-cloak>@Messages(errorMessage)</div>
}
@if(elements.hasErrors){
<div class="lerror" ng-cloak>@elements.errors.mkString(", ")</div>
}
</div>
код, использующий его в scala шаблоне:
@(monthMap: java.util.Map[Integer, String], currentYear: Int, tabSelected:String)(implicit request: play.mvc.Http.Request, Messages: play.i18n.Messages, config: com.typesafe.config.Config, env: play.Environment, portalConfiguration: common.PortalConfiguration, fieldElements: views.html.helper.FieldElements)
@import helper._
@import customhelpers._
@implicitFieldConstructor = @{FieldConstructor(change_password_rows_field_constructor.render(fieldElements, Messages))
, вызывая следующую ошибку в sbt:
[error] C:\apps\ivc-play-upgrade\ivc_play2\app\views\admin\admin_login.scala.html:4: type mismatch;
[error] found : play.twirl.api.HtmlFormat.Appendable
[error] (which expands to) play.twirl.api.Html
[error] required: views.html.helper.FieldElements => play.twirl.api.Html
[error] Note: implicit method implicitFieldConstructor is not applicable here because it comes after the application point and it lacks an explicit result type
[error] @implicitFieldConstructor = @{ FieldConstructor(change_password_rows_field_constructor.render(FieldElements.asInstanceOf[FieldElements], Messages)) } ^
Простите меня если на это уже был дан ответ. Я проливал StackOverflow и другие, а также документацию по scala и Play, но мне еще предстоит найти окончательный ответ. По общему признанию, мы используем в основном Java, помимо сборки sbt и шаблонов scala. html, и я не очень разбираюсь в том, как работает scala. Я уверен, что есть простой синтаксический ответ, но я его еще не нашел. Любая помощь будет оценена. Спасибо!