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])
的方法。