Grails新域实例返回null

时间:2011-05-16 00:00:05

标签: class grails dns

我有一个类似于此的域类:

class Offerbyuser {
    Number offerPrice
    Number minHours

    static constraints = {}
}

然后在控制器中,我这样做:

def offer = new Offerbyuser(offerPrice:1, minHours:3)

offer始终为NULL。为什么?我错过了一些明显的东西吗?

更新:所以这可行,但是我发现什么不起作用的是之后的方法。

user.addToOutgoingOffers(offer)

用户与Offerbyuser域类具有一对多的关系:

class User {
    static hasMany = [outgoingOffers:Offerbyuser]
}

我收到此错误:

groovy.lang.MissingMethodException:没有方法签名:twitter4j.UserJSONImpl.addToOutgoingOffers()适用于参数类型:( test.Offerbyuser)值:[按用户提供 - 价格:1,推文小时:3]

1 个答案:

答案 0 :(得分:2)

您的代码适用于我。我认为它可能是您的控制器类与您的域类不在同一个包中,并且您可能不包括域类。 Grails无法找到您“新”的类,但由于Groovy是一种动态语言,因此不会产生错误。

请试试这个:

在域类

package test

class Offerbyuser {
...
}

在控制器中:

package test

class TestController {
...
    def doSomething = {
        def offer = new Offerbyuser(offerPrice:1, minHours:5)
    }
}