2016-11-10 40 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()) 
  • 遊戲版本:2.5.9
  • SBT版本:0.13.11
  • 斯卡拉版本:2.11.7

回答

1

好,顯然隱式參數只適用於apply方法。而不是當你明確呼籲render

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

必須

Ok(views.html.test())