Scala 播放表单参数有助于破译编译错误
我有一个控制器定义如下:Scala 播放表单参数有助于破译编译错误,scala,view,playframework,playframework-2.0,Scala,View,Playframework,Playframework 2.0,我有一个控制器定义如下: package controllers import play.api._ import play.api.mvc._ import models.Task import play.api.data.Form object Application extends Controller { def index = Action { // Compiler error on Form Ok(views.html.index(List[Task]()
package controllers
import play.api._
import play.api.mvc._
import models.Task
import play.api.data.Form
object Application extends Controller {
def index = Action {
// Compiler error on Form
Ok(views.html.index(List[Task](), Form("label" -> "This is a label")))
}
def tasks = TODO
def newTask = TODO
def deleteTask(id: Long) = TODO
}
然后我定义了一个视图:
@(tasks: List[Task], taskForm: Form[String])
@import helper._
@main("Todo list") {
<h1>@tasks.size task(s)</h1>
<ul>
@tasks.map { task =>
<li>
@task.label
@form(routes.Application.deleteTask(task.id)) {
<input type="submit" value="Delete">
}
</li>
}
</ul>
}
@(任务:列表[任务],任务形式:形式[字符串])
@导入助手_
@主要(“待办事项清单”){
@tasks.size任务
@tasks.map{task=>
-
@task.label
@表单(routes.Application.deleteTask(task.id)){
}
}
}
这会导致以下编译器错误:
重载方法值应用于替代项:[T](映射:
(字符串,play.api.data.Mapping[T])play.api.data.Form[T][T] (映射:play.api.data.mapping[T])play.api.data.Form[T]不能为空 应用于((java.lang.String, java.lang.String)Application.scala/todolist/app/controllers行 11斯卡拉问题
你能帮我破译编译器的输出吗。这是你的问题:
表格(“标签”->“这是一个标签”)
。您正在尝试调用方法表单。apply(p:(String,String))
对象中没有此类方法。错误消息非常清楚:您正在尝试将(String,String)
参数应用于采用(String,Mapping[T])
的方法。