Play Framework with Scala 覚え書き
主に右も左もわからない自分向けの覚え書き。
コンフィグ
Application.conf に値を設定。
admin.username=admin admin.password=admin
呼び出しは以下。
Play.configuration.getProperty("admin.username")
アクセス制御
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 を指定しておくのが吉。