2012-06-14 7 views
5

Ho una domanda sui pro e contro di g: render e g: include. Nella mia applicazione ho un pezzo di codice che mostra alcune informazioni che devono essere ripetute in alcuni gsp, ciò che mostra dipende da un po 'di logica.
Ho il dubbio che sia meglio usare un g: includere o un g: render ???
Quindi, è meglio eseguire la logica su un controller che passa un modello alla pagina che usa un layout incluso con g: render, o è meglio mettere ag: include ad un'altra azione in un altro controller nella gsp che eseguire la logica di quel pezzo?
Preferisco la seconda scelta, ma quanto influisce sulle prestazioni?g: include vs g: render

risposta

9

Sono utilizzati solo in diversi casi. Si utilizza <g:include .../> quando si dispone di un controller che restituisce un contenuto facilmente incorporabile in più GSP. Ciò è utile anche se si dispone di un volume elevato di traffico in cui si sta effettivamente memorizzando nella cache a livello di controller poiché è possibile eliminare un sacco di spese generali.

<g:render.../> è utile quando è necessaria la modularità all'interno della pagina. Soprattutto per le chiamate AJAX in cui è possibile caricare inizialmente una parte della pagina, quindi aggiornarla in base ad alcuni eventi AJAX.

Entrambi possono essere utilizzati per riutilizzare il contenuto ed entrambi sono appropriati nel contesto corretto.

0

g: il rendering è utile mentre si lavora su modelli parziali e si ha il modello necessario ecc. , è meglio usare g: include. Usando g: include anche un buon controller e questo significa un codice molto più leggibile usando quel controller. E non ci sarebbe alcun confronto tra "passaggio a un'azione di un controllore e rendering di una vista senza operazioni aggiuntive" e "rendering di una vista".