Grails 意外标记:映射

Grails 意外标记:映射,grails,syntax,groovy,data-modeling,Grails,Syntax,Groovy,Data Modeling,我正在使用1.3.7版学习Grails,我一直在无明显原因地遇到以下语法错误: unexpected token: mapping @ line x, column y. 有一次,我通过运行“groovy clean”和“grails clean”摆脱了它,但这一次它甚至不起作用。据我所知,我的代码与我正在使用的书中的示例完全相同,但它一直在抱怨“映射”这个词 下面是我的一个课程失败的例子: package com.grailsinaction class Post { Strin

我正在使用1.3.7版学习Grails,我一直在无明显原因地遇到以下语法错误:

unexpected token: mapping @ line x, column y.
有一次,我通过运行“groovy clean”和“grails clean”摆脱了它,但这一次它甚至不起作用。据我所知,我的代码与我正在使用的书中的示例完全相同,但它一直在抱怨“映射”这个词

下面是我的一个课程失败的例子:

package com.grailsinaction

class Post {

    String content
    Date dateCreated

    static constraints = {
        content(blank: false)
    }

    static belongsTo = [ user: User ]

    static mapping {
        sort dateCreated: "desc"
    }

    static hasMany = [ tags: Tag ]
}

我错过了什么?请告知。

您缺少一个等号。。。决议草案应改为:

static mapping = {
    sort dateCreated: "desc"
}

就这样,谢谢!我一分钟前才发现。天哪,我觉得自己像个白痴。Grails的语法对我来说太奇怪了。@Stephan不用担心。groovy的这一行基本上将
静态
映射变量设置为groovy闭包(一种匿名方法)。执行时,它调用
sort
方法,并向其传递映射
[dateCreated:'desc']
。只是想让你知道引擎盖下面发生了什么:-)继续堵上!就像任何语言一样,它最终会坚持下去:-)谢谢你的解释。从Java/C#的角度看,它当然不是那么明显。