2015-01-09 2 views
3

Я пытаюсь обновить приложение для воспроизведения до 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)[email protected]_1" name="@name" value="@v._1" @(if(value == Some(v._1)) "checked" else "") @toHtmlArgs(htmlArgs)> <span>@v._2</span> 
     </label> 
    } 
} 

Ошибка я получаю:

как метод implicitJavaLang в объекте PlayMagicForJava типа => play.api.i18n.Lang и значение lang типа play.api.i18n.Легкий матч ожидаемый тип play.api.i18n.Lang Неопределенные неявные значения

Я не понимаю, что здесь проблема. Чтобы удалить неявный язык, это не вариант для меня в некоторых html-помощниках. Также я не хочу, чтобы lang был «реальным» параметром. Я хочу использовать преимущество implicits.

Есть ли решение для этого?

Любая помощь будет круто :)

Заранее спасибо

+0

Возможный дубликат http://stackoverflow.com/questions/26200820/ambiguous-values-in-lang-and-requestlang – edi

ответ

2

вы можете безопасно удалить параметр неявного lang, потому что Play 2.3 уже имеет один в своем неявном контексте.

0

Варианты либо удалить, где объявлен неявное Ланг (проверить импорт, возможно, import play.core.j.PlayMagicForJava._ существует), или передать значение в явном виде. Неявные аргументы во втором списке аргументов все равно могут передаваться явно.

Смежные вопросы