scalaを独学で学習しており、playframeworkを最近使いはじめました。
サンプルコードを見ながら Form 機能を作成しているところでコンパイルエラーが発生し、
エラー内容を調べたり他の記事のサンプルコードを見てもどこが間違っているのかが解決できません。
〜エラー内容〜
An implicit MessagesProvider instance was not found.
〜エラー箇所〜
@helper.inputText(userForm("name"))
@helper.inputText(userForm("email"))
この2行のところにエラーのチェックが入っています。
html
1# entrySubmit.scala.html 2@main("entry user submit"){ 3 <h1>Entry Success!</h1> 4}
html
1# entry.scala.html 2@(userForm: Form[User]) 3@import helper._ 4@main("entry user") { 5<h1>Entry user</h1> 6@helper.form(action = routes.UserController.entrySubmit) { 7<fieldset> 8 <legend>input user info.</legend> 9 @helper.inputText(userForm("name")) 10 @helper.inputText(userForm("email")) 11</fieldset> 12<input type="submit" value="entry"> 13} 14}
routes
1# routes 2# Routes 3# This file defines all application routes (Higher priority routes first) 4# https://www.playframework.com/documentation/latest/ScalaRouting 5# ~~~~ 6 7# An example controller showing a sample home page 8GET / controllers.HomeController.index 9 10# Map static resources from the /public folder to the /assets URL path 11GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset) 12# Map User 13GET /user/entry controllers.UserController.entryInit 14POST /user/entry controllers.UserController.entrySubmit
scala
1# models.scala 2package models 3/** 4 * ユーザモデル 5 */ 6case class User(name: String, email: String)
scala
1# UserController.scala 2 3package controllers 4 5import javax.inject.{Inject, Singleton} 6import play.api._ 7import play.api.mvc._ 8import play.api.data._ 9import play.api.data.Forms._ 10import models._ 11 12@Singleton 13class UserController @Inject()( 14 val controllerComponents: ControllerComponents 15 ) extends BaseController{ 16 17 /** 18 * Form の定義 19 * @status 20 */ 21 val userForm = Form( 22 mapping( 23 "name" -> text, 24 "email" -> text 25 )(User.apply)(User.unapply)) 26 27 /** 28 * 初期画面関数 29 * @status filledFrom 30 */ 31 def entryInit = Action{ implicit request => 32 val filledForm = userForm.fill(User("user name", "email address")) 33 Ok(views.html.user.entry(filledForm)) 34 } 35 36 /** 37 * ユーザ登録関数 38 * @status 39 */ 40 def entrySubmit = Action{ implicit request => 41 val user = userForm.bindFromRequest.get 42 println(user) 43 Ok(views.html.user.entrySubmit()) 44 } 45 46}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/10 17:17