Play Framework with Scala 覚え書き

主に右も左もわからない自分向けの覚え書き。

コンフィグ

Application.conf に値を設定。

admin.username=admin
admin.password=admin

呼び出しは以下。

Play.configuration.getProperty("admin.username")

リクエスト値の取り方

コントローラのメソッド内で request が呼び出せる。メソッドを取得。

request.method

アクセス制御

Application.conf に以下のモジュール呼び出しを追加。

module.secure=${play.path}/modules/secure

コントローラに Trait を実装。

object Samples extends Controller with Secured {}

ログインの方法を変更(デフォルトでは何でも通るので、実質必須)

object Security extends Secure.Security {
  private def authentify(username: String, password: String) = {
    username == "user" && password == "pass"
  }
}

authentify 関数の戻り値が true になるときだけ認証される。

CRUD操作

Play Framework に付属している CRUD モジュールの利用方法。

Application.conf に以下のモジュール呼び出しを追加。

module.clud=${play.path}/modules/crud

操作を行いたいコントローラに Trait を実装。

object HogeFuga extends Controller with CRUDFor[Model] {}

CRUDFor[Model] の Model に操作したいモデルの名前を記述すればいい。

ビューの上書きを行う場合、次のコマンドでビューのテンプレートを ap/views 以下にコピーできる。手で書いた場合でも app/views 以下にファイルが存在する場合、そちらが優先される様子。

play crud:ov --template Models/action

モデルの操作

モデルの値に Long 型を指定すると不可解なエラーが発生する(記事執筆現在)。おとなしく Integer を指定しておくのが吉。