Я только что обнаружил, что ошибка заключалась в закрытии save {} класса Controller.Ниже приведен код ошибки:
def save = {
resultsList.each{
def eventInstance = new Event(params + it)
if (eventInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'event.label', default: 'Event'), eventInstance.id])}"
redirect(action: "show", id: eventInstanceID)
}
else {
render(view: "create", model: [eventInstance: eventInstance])
}
}
}
Итак, проблема заключалась в том, что я перенаправлял действие "show" внутри каждого закрытия {}.И по какой-то причине, в которой я до сих пор не уверен, это вызывало исключение после второй итерации каждого цикла {}.Поэтому все, что мне нужно было сделать, это вызвать метод redirect вне каждого замыкания {}, например:
def save = {
def resultsList = eventService.lastFmVenues(params.artist)
def eventInstanceID
resultsList.each{
def eventInstance = new Event(params + it)
if (eventInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'event.label', default: 'Event'), eventInstance.id])}"
eventInstanceID = eventInstance.id
}
else {
render(view: "create", model: [eventInstance: eventInstance])
}
}
redirect(action: "show", id: eventInstanceID)
}
Мне все еще интересно, почему он вызывал исключение только после второй итерации, но в любом случае, проблема решена.Спасибо!