3

Play 2.0テンプレートに補助コンストラクターを含めることは可能ですか?

4

1 に答える 1

2

「コンストラクター」とは、異なる引数を持つ引数リストを意味すると思います。これを行う組み込みの方法はわかりませんが、Play の学習を始めたばかりです。

ただし、Enhance My Instance ™ パターンを使用して同じ効果を得ることができます。

やることリストの例を使用して、index.scala.htmlテンプレートが次のように始まるとします。

@(tasks: List[Task], taskForm: Form[String])

Application.scalaあなたはこれを

  def tasks    = Action { Ok(views.html.index(Task.all(), taskForm)) }

タスク リストを省略したい場合:

  implicit def enhanceIndex(index: views.html.index.type) = new {
    def apply(f: Form[String]) = index(List.empty, f)
  }

これで、次のように呼び出すことができます。

  def tasks2   = Action { Ok(views.html.index(taskForm)) }

.typeこれは基本的に、範囲を特定のインスタンス (この場合はviews.html.indexオブジェクト) に狭めるために使用する pimp-my-library パターンにすぎません。

于 2012-04-22T11:14:08.987 に答える