Grails новый экземпляр домена возвращает ноль - PullRequest
1 голос
/ 16 мая 2011

У меня есть класс домена, который выглядит следующим образом:

class Offerbyuser {
    Number offerPrice
    Number minHours

    static constraints = {}
}

Затем в контроллере я делаю это:

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

предложение всегда NULL.Зачем?Я упускаю что-то очевидное?

ОБНОВЛЕНИЕ: так что это РАБОТАЕТ, но не работает, как я выяснил, метод после этого.

user.addToOutgoingOffers(offer)

пользователь имеет отношение один ко многимс классом домена Offerbyuser:

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

Я получаю эту ошибку:

groovy.lang.MissingMethodException: Нет подписи метода: twitter4j.UserJSONImpl.addToOutgoingOffers () применим для типов аргументов: (test.Offerbyuser) значения: [Предложение пользователя - Цена: 1, Часы в твиттере: 3]

1 Ответ

2 голосов
/ 16 мая 2011

Ваш код отлично работает для меня. Я думаю, что, возможно, ваш класс контроллера находится не в одном пакете с вашим классом домена, и вы можете не включать класс домена. Grails не может найти класс, который вы «новый», но поскольку Groovy является динамическим языком, он не выдаст ошибку.

Пожалуйста, попробуйте это:

В доменном классе

package test

class Offerbyuser {
...
}

В контроллере:

package test

class TestController {
...
    def doSomething = {
        def offer = new Offerbyuser(offerPrice:1, minHours:5)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...