Play 2.0 模板中是否可以有辅助构造函数?
问问题
174 次
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)) }
这本质上只是 pimp-my-library 模式,.type
用于将范围缩小到特定实例,在本例中为views.html.index
对象。
于 2012-04-22T11:14:08.987 回答