Grails 2.3 - Problema com upgrade
28/01/2014 09:27
Olá pessoal,
há tempos venho tentando fazer o upgrade de meu projeto grails 2.2.4 para qualquer versão 2.3, mas estou barrando em um sério problema para mim.
1. Eu possuía algumas constraints com a tag (blank:false) nos atributos do tipo String e agora não funciona mais, só funciona se eu colocar (nullable:false), tenho que realmente fazer esta modificação?
2. Este segundo problema para mim é muito mais sério e precisava conseguir resolver. Eu tenho algumas views que possuem cadastros one-to-many com ajax, mas agora não consigo fazer nenhuma delas rodar de forma alguma, pois quando o objeto é recebido na action do controller a lista de objetos detalhe vem preenchida com objetos nulos, e isso funcionava 100% na versão 2.2.4. Vou citar um exemplo:
Tendo os seguintes domains:
class Ticket {
String titulo;
static hasMany = [acompanhamentos:Acompanhamento]
List acompanhamentos;
}
class Acompanhamento {
String mensagem;
static belongsTo = [ticket:Ticket]
}
E a seguinte action no TicketController:
@Transactional
def save(Ticket ticketInstance) {
if (ticketInstance == null) {
notFound()
return
}
if (ticketInstance.hasErrors()) {
respond ticketInstance.errors, view:'create'
return
}
println "- "+params.toString()
println "- "+params.getAt('acompanhamentos[0].mensagem');
println "- "+ticketInstance.acompanhamentos
ticketInstance.save flush:true
request.withFormat {
form {
flash.message = message(code: 'default.created.message', args:[message(code: 'ticketInstance.label', default: 'Ticket'), ticketInstance.id])
redirect ticketInstance
}
'*' { respond ticketInstance, [status: CREATED] }
}
}
** A action save, não consegue salvar meus acompanhamentos, salva apenas o ticket. Ao meu ver ele não consegue associar o que vem da minha tela com meu objeto. Deixei alguns "println" para vocês entenderem o que acontece e o resultado deles é o seguinte:
- [titulo:ticket mensagem, acompanhamentos[0].id:, acompanhamentos[0]:[id:, mensagem:acompanhamento mensagem], acompanhamentos[0].mensagem:acompanhamento mensagem, create:Criar, action:save, format:null, controller:ticket]
- acompanhamento mensagem
- [null]
Peço encarecidamente a ajuda de alguém! Já estou sem alternativa.
Tags:
one-to-many 2.3 upgrade erro ajax um para muitos 2.2.4