Scala
PlayFramework
初心者

【質問】scalaのバージョン変更にかかる変更点について

【解決しました】

エラーを気にせずそのままコンパイルすると、何の問題もなく実行されました。
コードに間違いはなく、eclipseが勝手にエラーを吐いているだけだったようです。

================================================================================

Qiitaに投稿されていた記事を参考にScala,PlayFrameworkの学習を進めていたのですが,scalaのバージョンアップが原因なのか正常に動作しない箇所が複数あります.
インターネット上で情報を集めたのですが,プログラミング初心者ゆえに、かなかなか解決の糸口が見えません.
皆様のお力を貸していただきたく投稿させていただきました.

参考にさせていただいているのは,2017年07月29日に最後の更新がなされたこちらの記事「Play Frameworkハンズオン」です.

以下が私が現在開発を行っている環境になります.

console
$ java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
console
$ sbt sbt-version
.
.
[info] 0.13.11

Play Frameworkハンズオン」にて掲載されていたコードは以下の通りになります。

/play-hands-on/app/services/Todo.scala
package services

case class Todo(name: String)
/play-hands-on/app/controllers/TodoController.scala
package controllers

import javax.inject._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
import services._

def list() = Action { implicit request: MessagesRequest[AnyContent] =>
    val items: Seq[Todo] = Seq(Todo("Todo1"), Todo("Todo2"))
    Ok(views.html.list(items))
  }
/play-hands-on/app/views/list.scala.html
@import services._
@(items: Seq[Todo])

<html>
    <head>
        <title>Todo</title>
    </head>
    <body>

        <section>
            <table>
                <thead>
                    <tr>
                        <th>名前</th>
                    </tr>
                </thead>
                <tbody>
                @items.map { todo =>
                    <tr>
                        <td>@todo.name</td>
                    </tr>
                }
                </tbody>
            </table>
            <a href="/todo/new">登録画面</a>
        </section>

    </body>
</html>

以下は私がこのコードに少し変更を加えたコードへさらに「eclipse」で表示された警告などを書き足したものになります。

/play-hands-on/app/services/Todo.scala
package services

case class Todo(name: String)
/play-hands-on/app/controllers/TodoController.scala
package controllers

import javax.inject._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
import services._

//変更箇所
def list = Action {
    val items: Seq[Todo] = Seq(Todo("Todo1"), Todo("Todo2"))
    //itemsで「type mismatch; found : Seq[services.Todo] required: String」のエラー
    Ok(views.html.list(items))
  }
/play-hands-on/app/views/list.scala.html
@import services._
@(items: Seq[Todo])

<html>
    <head>
        <title>Todo</title>
    </head>
    <body>

        <section>
            <table>
                <thead>
                    <tr>
                        <th>名前</th>
                    </tr>
                </thead>
                <tbody>
                <!-- ここから -->
                @items.map { todo =>
                    <tr>
                        <td>@todo.name</td>
                    </tr>
                }
                <!-- ここで「テキスト・ストリング(@items.map{ todo =>)が無効です。」の警告 -->
                </tbody>
            </table>
            <a href="/todo/new">登録画面</a>
        </section>

    </body>
</html>

ここにどのような変更を加えれば意図した動きをするようなコードとなるのでしょうか。教えていただきたいです。