Problema ao Adicionar um item um uma lista através de formRemote
13/07/2017 09:46
?E ai galera, tudo na paz,
A duvida agora é o seguinte:
Estou desenvolvendo, ou tentando desenvolver uma telinha de cadastro com ajax.
Por exemplo.
Estou tentando representar na tela a associação Muitos Pra Muitos
class Cliente {
? static hasMany=[clientesPorProdutos:Produto]
}
static mapping = {
table 'public.clientes'
id name: 'id', generator: 'sequence', params: [sequence: 'public.cliente_id_seq']
version false
clientesPorProdutos:joinTable: [name: 'public.clientes_por_produtos', column: 'produto_id', key: 'cliente_id']
}
Eu ja tenho uma tabela pre-definida todos os produtos. O que eu quero fazer é criar um cliente e já ir atribuindo seus produtos, através de
def produto = Produto.get(params.produto_id Long)
convenioInstance.addToClientesPorProduto(produto)
Eu não quero salvar essas informações diretamente no banco, eu quero ir adicionando na lista, em memória, e assim que todos os produtos forem adicionados dentro do objeto filho, eu salvo o objeto pai e seus itens no banco.
Estou usando formRemote para atualizar a tabela html, e retornando um model para o atualizar a div. Porém, ele sempre está criando um novo objeto do tipo cliente, ou seja, só consigo adicionar um produto, quando tento colocar outro, ele cria um novo objeto do tipo cliente, a adiciona apenas o produto que mandei.
Eu gostaria de mandar o cliente para o metodo, adicionar o produto, e mandar-lo de volta, para que eu posso, envia-lo novamente, para repetir o processo, até ter todos os produtos dentro de cliente, e por fim salvar.
Desculpas se não ficou muito claro, kkkk
def addProdutosCliente(Cliente cliente){
def produto= Produto.get(params.produto_id as Long)
convenioInstance.addToClientesPorProduto(produto)
render(template: 'template/tabela-clientes-produtos', model: [cliente:cliente])
}
Tags:
Grails, formRemote, ajax