Я немного новичок в Grails и вообще в Web MVC.Если посмотреть на архитектуру scaffolded grails и распространить ее на создание форм для веб-приложения для конечного пользователя, то, как представляется, шаблон посвящает два действия странице, которая собирает данные формы: первое - отображение страницы, включая любые ошибки из предыдущихотправляет, а второй действует на основе данных о представлении, вызывая ошибки и a) возвращаясь к первому действию, если это необходимо, или b) переходя к действию / контроллеру-преемнику, если ошибок нет.Является ли это типом «отраслевой стандарт» шаблон ... это должно быть?
Или кто-то может сделать эту работу одним действием в некоторых случаях ... или, возможно, использовать 3 действия в других случаях, например, одно для отображения ошибок?
PS Пожалуйста, игнорируйте мой комментарий ниже;Я немного обновил этот вопрос
--------- для целей обсуждения и для тех, кто читает с фоном Web MVC, но не фоном grails, вот код, сгенерированный grails (версия 1.3.7)
def create = {
def personInstance = new Person()
personInstance.properties = params
return [personInstance: personInstance]
}
def save = {
def personInstance = new Person(params)
if (personInstance.save(flush: true)) { // my additon: save causes validation to be performed against user specified constraints, returning true or false
flash.message = "${message(code: 'default.created.message', args: [message(code: 'person.label', default: 'Person'), personInstance.id])}"
redirect(action: "show", id: personInstance.id)
}
else {
render(view: "create", model: [personInstance: personInstance])
}
}