Play 2.0 - 模板中的辅助构造函数

时间:2012-04-22 08:40:38

标签: scala playframework-2.0

是否可以在Play 2.0模板中使用辅助构造函数?

1 个答案:

答案 0 :(得分:2)

通过“构造函数”,我假设您的意思是具有不同参数的参数列表。我不知道有这样做的内置方法,但我只是刚开始学习Play。

但是,您可以使用增强我的实例™模式来达到同样的效果:

使用to-do list example,假设您的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)) }

这基本上就是pimp-my-library模式,使用.type将范围缩小到特定实例,在本例中为views.html.index对象。