我正在尝试将我的 Play 应用程序更新到 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.Lang ambiguous implicit values
我不明白这里有什么问题。删除隐式 lang 对我来说不是一个选项,因为在某些 html 助手中这是必要的。此外,我不想将 lang 设为“真实”参数。我想利用隐式的优势。
有解决方案吗?
任何帮助都会很酷:)
提前致谢
最佳答案
您可以安全地删除隐式 lang 参数,因为 Play 2.3 在其隐式上下文中已经有了一个。
关于scala - 更新后出现 "Ambiguous implicit values"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27858596/