Я пытаюсь написать свой собственный контроллер, который позволил бы мне обрабатывать таблицы с составными ключами в Grails 3.3.8.Одна такая таблица, которая у меня есть, называется AliasFrequencyDict
, и поэтому я создал такой метод в контроллере:
@Transactional
def update(AliasFrequencyDict aliasFrequencyDict) {
aliasFrequencyDict = AliasFrequencyDict.get( new AliasFrequencyDict(params) )
if (aliasFrequencyDict == null) {
notFound()
return
}
try {
aliasFrequencyDict.save(insert: false, flush: true, failOnError: true)
} catch (ValidationException e) {
respond aliasFrequencyDict.errors, view:'edit'
return
}
request.withFormat {
form multipartForm {
flash.message = message(code: 'default.updated.message', args: [message(code: 'aliasFrequencyDict.label', default: 'AliasFrequencyDict'), aliasFrequencyDict.getPK()])
redirect(action: 'show', params: params)
}
'*'{ respond aliasFrequencyDict, [status: OK] }
}
}
Кажется, что это должно работать - когда я что-то изменяю в представлении редактирования и отправляю,Я правильно перенаправлен на действие show
, получаю флэш-сообщение с информацией об успешном обновлении, URL-адрес http://localhost:8080/aliasFrequencyDict/show?_method=PUT&version=&frequency=0&unit=Q&description=abc123&lang=PL
, но в самой записи базы данных ничего не меняется.Почему это так?Что здесь может быть не так?