Ajuda na lógica do meu sistema.
24/05/2013 16:58
0
Estou desenvolvendo um sistema simples que consiste em adicionar um evento e esse evento possui uma ou várias datas. static hasMany = [datas:Data]

Mas para adicionar uma data essa tem que ter um evento antes. Quando gera toda a view quando vou em criar evento aparece a opção de adicionar as datas, mas pra isso tem q criar um evento depois ir em editar e adicionar as datas a esse evento pois o evento já foi criado.

Qual a solução vcs sugerem para o cliente não ter sempre que fazer isso, mas sim ir na página de evento e adicionar as datas conforme ele queira e ai sim salvar o evento.

Valeu o/
Tags: Lógica, hasmany,


1
eu já respondi isso aqui no fórum, de uma pesquisada ai.
Isso é formulário mestre detalhe.
24/05/2013 18:22


1
Td bom
G13ydson
?

Tem uma solução para este tipo de problema. Existe um conceito do command no grails, que é uma estrutura que funciona como se fosse um DTO (não gosto do termo) entre a view e o seu controller.

Vamos a lógica.

Pense que possui um EventoCommand que possui uma lista de datas.

List datas
[code]

Na sua view, basta aplicar sua regra via JS, onde ele vai inserindo datas na view algo como:

[code]
<input type="text" name="data[0]" />
<input type="text" name="data[1]" />
<input type="text" name="data[2]" />


E por aí vai.

Ao salvar você pode aproveitar a produtividade do gorm inserindo dinamicamente estas datas, validando, e depois devolvendo a resposta para o usuário.

Dá uma procura em Grails Command Objects vai te ajudar bastante. Senão neste caso, em outros com certeza, principalmente quando envolve muitos relacionamentos.

Abs, e boa sorte com o projeto.

Espero que tenha ajudado.


0
Valeu galera pela ajuda, ainda não testei as soluções, mas creio que seja isso mesmo. Vou dar uma olhada e posto o resultado. Valeu mesmo o/
24/05/2013 20:20


0
Olá Carlos, tentei seguindo dois tutoriais da internet, mas sem sucesso

a classe Data está assim.

class Data {
Date data
String hora
static belongsTo = [evento:Evento]
}

E a Evento está assim >>

class Evento {
String nome
List datas = new ArrayList()
static hasMany = [datas:Data]
}


Seguindo o tutorial vai tudo beleza, mas quando vou em Criar Evento ele é salvo, mas a Data não.
Alguma sugestão do que seja? Valeu o/
25/05/2013 03:03


0
Tem como postar sua controller?


0
Desculpa a demora para responder galera, mas tentei vários tutoriais reproduzi tudo certinho, mas nada :(

A diferença apenas é da versão do grails que estou é a 2.2.1
No exemplo do http://www.2paths.com/2009/10/01/one-to-many-relationships-in-grails-forms/

Consigo fazer tudo blz, mas quando listo não aparece os livros, mas apenas um array vazio.

segue o projeto para vcs darem uma olhada. Valeu o/

Downloads
03/06/2013 20:49



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