LoginSignup
11
8

More than 5 years have passed since last update.

Play 2.4で「Form: could not find implicit value for parameter messages: play.api.i18n.Messages」エラーが出る件

Last updated at Posted at 2016-03-05

対処

テンプレート側での対処

テンプレート側のパラメータを受け取る部分で、
Messagesを受け取るように書き換える。

@(form: Form[Login])(implicit messages:Messages)

Controller側での対処

COntroller側では、2パターンの方法がある。

1. play.api.i18n.I18nSupportトレイトを使用する方法。

import javax.inject.Inject
import play.api.i18n.{MessageApi, I18nSupport}
import play.api.mvc.Controller

class MyController @Inject() (val messagesApi: MessageApi) extends Controller with I18nSupport {
}

この方法でconf/routesでエラーが出た場合は、
build.sbtに次のコードを追加する。

routes := InjectedRoutesGenerator

2. 静的なConntrollerを使用している場合(旧式)。

次の2行を追加する。

import play.api.i18n.Messages.Implicits._
import play.api.Play.current
import play.api.i18n.Messages.Implicits._
import play.api.Play.current
import play.api.mvc.Controller

object MyApplication extends Controler {
}

参考

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8