質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Play Framework

Play Frameworkは、現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Q&A

解決済

1回答

1727閲覧

scalaのplayframeworkでFormを作成する際のエラー

shunsena

総合スコア16

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Play Framework

Play Frameworkは、現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

0グッド

0クリップ

投稿2020/05/09 15:15

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}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これで解決しませんか?

投稿2020/05/10 08:16

kazchimo

総合スコア172

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shunsena

2020/05/10 17:17

私が参考にしていた記事が古く、playframework の最近のバージョンでは書き方が違うことが原因でした。 まだその内容を理解するところまでの知識はないですが参考にする記事の日付なども気をつけるようにいたします。 ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問