我有一个类似于此的域类:
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]
答案 0 :(得分:2)
您的代码适用于我。我认为它可能是您的控制器类与您的域类不在同一个包中,并且您可能不包括域类。 Grails无法找到您“新”的类,但由于Groovy是一种动态语言,因此不会产生错误。
请试试这个:
在域类
中package test
class Offerbyuser {
...
}
在控制器中:
package test
class TestController {
...
def doSomething = {
def offer = new Offerbyuser(offerPrice:1, minHours:5)
}
}