В Grails 3 командный объект получить поле для заполнения списка домена
Мне нужно сохранить список доменов, и для этого я использовал список в объекте команды в контроллере. Но когда я пытаюсь получить объект домена из списка аргументов (команда-объект), возникает ошибка IndexOutOfBound.
Я также попытался ленивым списком концепции с командным объектом. Тем не менее, список объектов команды не заполнен.
class CategoryItems{ // command object class
List<Item> items = new ArrayList<Item>()
}
class ItemController{
def save(CategoryItems categoryItems){
service.save(categoryItems.get(0)) // getting indexOutOfBound
//Exception
}
}
Как я могу заполнить Список командных объектов?
1 ответ
Решение
Когда вы передаете объект команды в качестве аргумента действия контроллера, вы получаете экземпляр этого объекта команды.
В вашем случае это экземпляр созданного вами командного объекта, а не список командных объектов. Поскольку вы создали список элементов, вы можете сохранить каждый элемент как таковой
categoryItems.items.each{
service.save(it)
}
// or
categoryItems.items.each{ Item item ->
service.save(item )
}