Plya2-Scala/view/Helper を使った form の作成

Plya2-Scala/view/Helper を使った form の作成

基本

input 等に予め値を埋め込む

パラメータのオブジェクト(状況によっては Model ということもありうる)を newして(サンプルでは case class なのでコンパニオンオブジェクトを使っている)、 fill メソッドで値として入れ込む。

  var hogeForm = Form (
    mapping(
      "hoge" -> text,
      "piyo" -> number
  )(HogeParams.apply)(HogeParams.unapply))
  def hogehogehoge = Action {
    // fill は非破壊的メソッドっぽく入れ替えるのがポイント
    hogeForm = hogeForm.fill(HogeParams("ほげ", 12345))
    Ok(views.html.hogehogePage(hogeForm))
  }

ポイントとしては fill は非破壊的メソッドなので、このように変数の中身を入れ替えなかったら値は反映されない。

hogeForm.fill(HogeParams("ほげ", 12345))

別の側面から言うと form は var でなければならない。

play_framework/play2_scala/view/create_form_with_helper.txt · 最終更新: 2017-10-02 16:36 by ore