У меня есть объект команды в другом пакете с моего контроллера. Импортирую в контроллер. Я создаю и возвращаю экземпляр этой команды из действия create:
def create = {
def reportCreateCommand = new ReportCreateCommand()
reportCreateCommand.name = params.name
reportCreateCommand.jrxmlFile = params.jrxmlFile
return [cmd: reportCreateCommand]
}
Но закрытие действия сохранения не создает экземпляр объекта этой команды из свойств:
def save = { ReportCreateCommand cmd ->
if (cmd.validate()){
def reportInstance = cmd.createReport()
reportInstance.save()
redirect(action:"show", id:reportInstance.id)
}
else {
render(view:"create", model:[cmd:cmd])
}
}
Очевидно cmd в закрытии сохранения имеет значение null. Командный класс имеет два свойства: name и jrxmlFile. Из того, что я знаю, grails должен создавать экземпляр объекта команды в методе сохранения из файла params. Нужно ли мне делать что-нибудь еще?