その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へつづく。