2012-06-14 23 views
5

Tengo una pregunta sobre los pros y los contras de g: render and g: include. En mi aplicación tengo un código que muestra cierta información que debe repetirse en algunos gsp, lo que muestra depende de un poco de lógica.
Tengo una duda es mejor usar un g: incluir o un g: render ???
Entonces, ¿es mejor ejecutar la lógica en un controlador que pasa un modelo a la página que usa un diseño incluido con el g: render, o es mejor poner ag: incluir a otra acción en otro controlador en el gsp que ejecutar la lógica de esa pieza?
Prefiero la segunda opción, pero ¿cuánto afecta el rendimiento?g: incluir vs g: render

Respuesta

9

Se acaban de utilizar en diferentes casos. Utiliza <g:include .../> cuando tiene un controlador que devuelve una porción de contenido que se incrusta fácilmente en múltiples GSP. Esto también es útil si tiene un gran volumen de tráfico en el que está almacenando en caché al nivel del controlador, ya que puede eliminar una gran cantidad de sobrecarga.

<g:render.../> es útil cuando necesita modularidad dentro de su página. Especialmente para llamadas AJAX donde inicialmente puede cargar una parte de la página y luego quiere actualizarla en función de algún evento AJAX.

Ambos se pueden utilizar para reutilizar el contenido, y ambos son apropiados en el contexto correcto.

0

g: render es útil mientras trabaja en plantillas parciales y tiene el modelo que necesita, etc. Sin embargo, cuando necesita progreso adicional (o extenso) para pasar cosas adicionales, más significativas a su vista (plantilla) , es mejor usar g: incluir. Al usar g: include también tendrá un buen controlador y eso significa un código mucho más legible usando ese controlador. Y no habría comparación de rendimiento entre 'pasar a una acción del controlador y renderizar una vista sin hacer ninguna operación adicional' y 'renderizar una vista'.