Herança de controllers
04/07/2014 13:06
0
Alguém ja trabalhou com herança em controller?

Meu problema é o seguinte, eu tenho o PessoaController que esta funcionando perfeitamente, porém agora eu gostaria de criar o ClienteController que basicamente é a mesma coisa retirando alguns elementos de visao.

O problema é que quando herdo em vez de renderizar pessso/index ele tenta renderizar cliente/index.

Alguem sabem como mudar o diretorio de onde o controller pega os arquivos de visão?
Tags: controller, view, herança


1
Oi Leandro, não sei se ainda se aplica, mas dá uma lida neste post do Felipe Nascimento: http://felipenasc.blogspot.com.br/2010/11/grails-problema-com-uso-de-heranca-nos.html



0
Obrigado Kico.

Realmente nem sempre herança é o melhor dos mundos resolvi meu problema, separando os controllers ,sem utilizar herança.


0
Oi Leandro, depois eu fiquei pensando no seu caso, me surgiu uma idéia, mas ainda não experimentei para saber se funcionaria.

E se você tivesse uma terceira classe de controle que fosse a super classe tanto de Pessoa quanto Cliente? Como disse, não experimentei, então não sei se funcionaria, mas talvez como exercício intelectual valha à pena. :)

Outra alternativa interessante, e acredito que melhor que a herança, seria você isolar a lógica comum às duas entidades em uma classe de serviço, o que me diz?


0
Atualmente já está dividido em services. O que eu queria era utilizar os mesmos arquivos de visão.
Mas realmente ficou bem melhor desconsiderando a herança. Não preciso encher de if para controlar o que deve e o que não deve aparecer.

Obrigado pelas sujestões.



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