Exemplo funcional de um relacionamento "one-to-many" - Form
09/11/2015 22:59
0
Tentei durante semanas implementar uma pagina no grails com o relacionamento "one-to-many", porem não consegui, utilizei como exemplo alguns sites que encontrei na internet, porem todos demonstram os exemplos com versões muito antigas do grails e os exemplos  não funcionam quando aplico no meu projeto.

Essa é a minha grande duvida desde que comecei a estudar o Framework .

agradeço desde já se alguém conseguir me ajudar.

Grails versão : 2.4.4
Tags: Grails,one-to-many


0
Qual versão do Grails você está usando e qual a versão dos exemplos que você viu? A princípio deveria funcionar, acho que não houve nenhuma mudança significativa nisso

É dificil eu arrumar algum exemplo agora, mas a idéia é que você terá que usar javascript para criar dinamicamente campos no formulario toda vez que quiser adicionar um novo item, seguindo o padrão de nomes apropriado para o databind... ex:
class Pedido {
    Cliente cliente
    static hasMany = [items: ItemPedido]
}

view:
<g:form .....>
    <input type="hidden" name="pedido.cliente.id" value="${pedido?.cliente?.id}"/>
    <g:each in="${pedido?.items}" var="item" status="${i}">
        <input type="hidden" name="pedido.items[${i}].produto.id" value="${item.produto.id}"/>
        Produto: ${item.produto.nome}
        <input type="text" name="pedido.items[${i}].quantidade" value="${item.quantidade}"/>
    </g:each>
</g:form>

Quer adicionar um novo item? Use javascript para criar novos fields seguindo o mesmo padrão para os nomes, levando em conta o índice do item. Esse índice é só para diferenciar fields de diferentes items, você nao precisa se preocupar por exemplo se excluir um item no meio da lista e ficar com um buraco na sequencia.
Quer excluir um item? Use javascript para excluir os fields correspondentes.

Na sua action basta se valer do databind para construir o objeto com os items apropriados:
class PedidoController {
    def save(Pedido pedido) {
    }
}


0
Talvez esse post possa te ajudar a ter um norte de por onde começar:
http://grailsbrasil.com.br/post/show/3044
13/11/2015 15:33



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto