scala – 更新后获取“不明确的隐式值”错误

我正在尝试将我的播放应用程序更新为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成为“真正的”参数.我想利用implicits的优势.

这有解决方案吗?

任何帮助都会很酷:)

提前致谢

最佳答案 您可以安全地删除隐式lang参数,因为Play 2.3在其隐式上下文中已经有一个.

点赞