表单问题从play-2.0.4迁移到play-2.1.0

时间:2013-02-20 20:36:22

标签: scala migration playframework-2.0

在尝试将一个项目从播放版本2.0.4迁移到2.1.0时,我遇到了这个错误:

type mismatch found: play.api.data.Form[...]
              required: play.data.Form[...]
所有类型的Form [...]的所有控制器中的

。在控制器中它看起来像这样:

import play.api._
import data.Form
import data.Forms._

val someform = Form(
       tuple(
       "name" -> text,
       "email" -> text
       )
  )

视图开头如下:

@(form : Form[...])

所有这些都会引发上述错误,但仅限于使用2.0.4版创建的项目,然后迁移到2.1.0。 随着项目从头开始创建2.1.0所有这一切都像魅力。为什么会这样? 此外,如果我在(迁移项目的)视图中指定完全限定名称,如:

@(form : play.api.data.Form[...])  it works fine....

1 个答案:

答案 0 :(得分:1)

您必须从javaCore中的appDependencies中删除Build.scala。否则Play会将您的项目视为 Java 项目,这意味着您的模板需要Java API,而不是play.data.Form中的Scala API {/ 1}}。{/ 1>

请注意,此行为与2.0.x不同,您可以在没有问题的情况下混合使用Java和Scala。