【问题标题】:Implicit twirl parameter: Unspecified value parameter messages隐式旋转参数:未指定值参数消息
【发布时间】:2017-03-24 08:09:44
【问题描述】:

我正在尝试在旋转模板中使用国际化。我遵循了这个指南:https://stackoverflow.com/a/30800825/1567737

我遇到了implicit messages: Messages 的问题。我已将设置减少到发生错误的最低限度:

测试控制器
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)

我还在 build.sbt 中添加了 routesGenerator := InjectedRoutesGenerator

根据我上面链接的文档和指南,这应该足够了。我仍然收到以下编译时错误:

[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())
  • 播放版本:2.5.9
  • SBT 版本:0.13.11
  • Scala 版本:2.11.7

【问题讨论】:

    标签: scala playframework playframework-2.5 twirl


    【解决方案1】:

    嗯,显然隐式参数只适用于apply 方法。而不是当你明确调用render时。

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

    必须

    Ok(views.html.test())

    【讨论】:

      猜你喜欢
      • 2016-02-22
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多