Я пытаюсь заполнить класс домена в несколько этапов. У меня проблемы с "объединением" новых параметров в существующую переменную потока. Ниже вы увидите, как я сейчас это делаю (т.е. индивидуально настраиваю поля класса домена из объекта params).
Есть ли лучший способ сделать это?
class UserController {
def scaffold = User
def index = {
redirect(action:'registration')
}
def registrationFlow = {
register1 {
on("continue") {
transient user = new User(params)
flow.user = user
if(!user.validate(['loginName', 'password'])) {
return error()
}
}.to "register2"
}
register2 {
on("register") {
transient user = flow.user;
//TODO: is there a better way to merge the flow.user with the params?
user.firstName = params.firstName;
user.lastName = params.lastName;
user.preferredEmail = params.preferredEmail;
if(!user.validate()) {
return error()
}
}.to "registerFinal"
on("return").to "register1"
}
registerFinal ()
}
}