playframework 2.3 -> 2.4 で Controller が

動作環境の構築を人任せにしていたので、細かいところに気づかなかったというか気にしなさすぎだったというか。

自分と、もう一人のプログラマとで、使っているPlayframeworkのバージョンが違っていたということが分かり、2.4.4に統一しようという話になった。
はいはい、というわけで、project/plugins.sbt をちゃっちゃと書き直してとりあえずコンパイルして、エラーが出たらググってpluginを足したり引いたりして、という対処をやっていたわけだが。

どうしても釈然としないエラーが残るのでよくよく見比べたら、

Version 2.3.X ではこちらのように、
https://www.playframework.com/documentation/2.3.x/ScalaActions

package controllers

import play.api.mvc._

object Application extends Controller {

  def index = Action {
    Ok("It works!")
  }

}

Controllerはobjectとして宣言するものだった。

それが、Version2.4.xではこちらのように
https://www.playframework.com/documentation/2.4.x/ScalaActions

package controllers

import play.api.mvc._

class Application extends Controller {

  def index = Action {
    Ok("It works!")
  }

}


classとして宣言するようになっているではないか。

Playframeworkってそういう文化だったのね...

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック