その1からのつづき。
いよいよチュートリアリング。
「概要」の章
まず、routesファイルの中身を書き換える。1つめのGETをコメントアウトし、代わりにチュートリアルに記載されているGETの定義を追加する。
# GET / controllers.HomeController.index
GET / controllers.Application.index
次にcontrollersフォルダの下に新規にApplication.scalaファイルを作成し、チュートリアルの内容を記載する。その際に"object"を"class"に書き換える。
-object Application extends Controller {
+class Application extends Controller {
また、HomeController.scalaのファイル名の後ろに.bakを付けるなどしてリネームし、コンパイル対象外にしておく(またはファイルごと削除でも可)。
「開発フロー」の章
チュートリアルに従い、Application.scalaの内容を書き換えてブラウザを更新してみる。

エラーのケースも同様に。
「アプリケーションの準備」の章
- チュートリアルに従って、
routesファイルの内容を追記する。 - ブラウザでエラーを確認。
- 同様に、
Application.scalaにもコードを追加。 - ブラウザで確認。画面デザインは異なるが同じメッセージが出る。
-
indexアクションをリダイレクトするように書き換える。
「Taskモデルの準備」の章
-
appフォルダの下にmodelsフォルダを作成し、その下にTask.scalaファイルを作成してコードを実装する。
「アプリケーションテンプレート」の章
-
index.scala.htmlファイルを書き換える。
「タスクフォーム」の章
-
Application.scalaにコードを追加する。import文はクラス定義の外、val taskFormはクラス定義の中に。
「最初のページをレンダリングする」の章
-
Application.scalaにimport文を追加し、def tasksのコードを書き換える。
ここでlocalhost:9000/tasksを呼び出すと以下のようなコンパイルエラーになる。
Compilation error
could not find implicit value for parameter messages: play.api.i18n.Messages
ので、以下のようにコードを修正する。1
index.scala.html
-@(tasks: List[Task], taskForm: Form[String])
+@(tasks: List[Task], taskForm: Form[String])(implicit messages:Messages)
Application.scala
+import play.api.i18n.Messages.Implicits._
+import play.api.Play.current
そうそう!こんな画面だった(気がする)。
その3へつづく。
