我正在尝试将我的播放应用程序更新为2.3.
我写了一个自己的html助手:
@(field: play.api.data.Field, options: Seq[(String,String)], args: (Symbol,Any)*)(implicit handler: views.html.helper.FieldConstructor, lang: play.api.i18n.Lang)
@input(field, args:_*) { (id, name, value, htmlArgs) =>
@options.map { v =>
<label class="radio inline">
<input type="radio" id="@(id)_@v._1" name="@name" value="@v._1" @(if(value == Some(v._1)) "checked" else "") @toHtmlArgs(htmlArgs)> <span>@v._2</span>
</label>
}
}
我得到的错误是:
both method implicitJavaLang in object PlayMagicForJava of type => play.api.i18n.Lang and value lang of type play.api.i18n.Lang match
expected type play.api.i18n.Langambiguous implicit values
我不明白这里有什么问题.删除隐式lang对我来说不是一个选项,因为在某些html帮助器中它是必要的.此外,我不想让lang成为“真正的”参数.我想利用implicits的优势.
这有解决方案吗?
任何帮助都会很酷:)
提前致谢
最佳答案 您可以安全地删除隐式lang参数,因为Play 2.3在其隐式上下文中已经有一个.