LoginSignup
2
2

More than 5 years have passed since last update.

Scala-PlayFramework2.5で2.2時代のtodolistチュートリアルをやってみた・その2

Last updated at Posted at 2017-05-15

その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の内容を書き換えてブラウザを更新してみる。
hello-world.PNG
エラーのケースも同様に。

アプリケーションの準備」の章

  • チュートリアルに従って、routesファイルの内容を追記する。
  • ブラウザでエラーを確認。
  • 同様に、Application.scalaにもコードを追加。
  • ブラウザで確認。画面デザインは異なるが同じメッセージが出る。
  • indexアクションをリダイレクトするように書き換える。

Taskモデルの準備」の章

  • appフォルダの下にmodelsフォルダを作成し、その下にTask.scalaファイルを作成してコードを実装する。

アプリケーションテンプレート」の章

  • index.scala.htmlファイルを書き換える。

タスクフォーム」の章

  • Application.scalaにコードを追加する。import文はクラス定義の外、val taskFormはクラス定義の中に。

最初のページをレンダリングする」の章

  • Application.scalaimport文を追加し、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

これで画面が表示されるようになる。
tasks.PNG

そうそう!こんな画面だった(気がする)。

その3へつづく。


2
2
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
2
2