2016-11-10 2 views
1

Я пытаюсь использовать интернационализацию в круговых шаблонах. Я следил за этим руководством: https://stackoverflow.com/a/30800825/1567737Неявный параметр завихрения: сообщения параметра неопределенного значения

У меня возникли проблемы с implicit messages: Messages. Я сократил мою установку до минимума, на котором произошла ошибка:

TestController
import javax.inject.Inject 
import play.api.i18n.{I18nSupport, MessagesApi} 
import play.api.mvc.{Action, Controller} 

class TestController @Inject()(val messagesApi: MessagesApi) 
    extends Controller with I18nSupport { 

    def index = Action { 
    Ok(views.html.test.render()) 
    } 

} 
test.scala.html
@()(implicit messages: Messages) 

Я также добавил routesGenerator := InjectedRoutesGenerator к моему build.sbt.

Этого должно быть достаточно в соответствии с документами и приведенным выше руководством. Тем не менее, я получаю следующую ошибку компиляции времени:

[error] app/controllers/TestController.scala:11: not enough arguments for method render: (messages: play.api.i18n.Messages)play.twirl.api.HtmlFormat.Appendable. 
[error] Unspecified value parameter messages. 
[error]  Ok(views.html.test.render()) 
  • Play Версия: 2.5.9
  • SBT версия: 0.13.11
  • Scala версия: 2.11.7

ответ

1

Ну, явно неявные параметры работают только по методу apply. И не тогда, когда вы явно вызываете render.

Ok(views.html.test.render())

Должно быть

Ok(views.html.test())

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