2012-07-22 49 views
4

这是我Application.Scala编译错误:未发现:在游戏框架值nonEmptyText同时使用Scala的

package controllers 

import play.api._ 
import play.api.data.Form 
import play.api.mvc._ 



import _root_.scala.xml.Text 


object Application extends Controller { 

    def index = Action { 
    Redirect(routes.Application.tasks) 
    } 


    def deleteTask(id: Long) = TODO 

    val taskForm = Form(
    "label" -> nonEmptyText 
) 
def tasks = Action { 
    Ok(views.html.index(Task.all(), taskForm)) 
} 

    def newTask = Action { implicit request => 
    taskForm.bindFromRequest.fold(
    errors => BadRequest(views.html.index(Task.all(), errors)), 
    label => { 
     Task.create(label) 
     Redirect(routes.Application.tasks) 
    } 
) 
} 
} 

我用打2.0框架。我错在哪里得到这样的错误?

+0

我不知道玩,但从你的例子,你期望'nonEmptyText'来自哪里?它当然不是在那个代码片段的任何地方定义的。也许['Forms.nonEmptyText'](http://osdir.com/ml/play-framework/2012-05/msg02003.html)? – 2012-07-22 15:24:23

+0

我以为这个导入_root_.scala.xml.Text照顾了。如何去做呢?新手到斯卡拉。 – Hick 2012-07-22 15:26:30

+1

看起来好像是在play.api.data.Forms中定义的:https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/api/data/ Forms.scala – 2012-07-22 15:28:13

回答

5

您可以浏览Play 2文档here。通过查看索引,我发现nonEmptyText包含在play.api.data.Forms对象中。

因此,您需要按照已经建议的方式添加import play.api.data.Forms._,或者使用Forms.nonEmptyText替换当前未找到的符号,因为它已经被导入。

0

我发现重新启动服务器解决了我的问题。