g:renderとg:includeの長所と短所について質問があります。私のアプリケーションには、いくつかのgspで繰り返す必要のある情報を表示するコードがあります。表示される内容は、少しのロジックによって異なります。g:includeまたはg:render
を使用する方がよいかどうか疑問があります???
したがって、g:renderに含まれるレイアウトを使用するページにモデルを渡すコントローラーでロジックを実行する方がよいか、またはag:includeを実行するgsp内の別のコントローラーの別のアクションに配置する方が適切です。その作品の論理?
私は2番目の選択肢を好みますが、それはパフォーマンスにどの程度影響しますか?
2 に答える
それらはさまざまな場合に使用されます。<g:include .../>
複数のGSPに簡単に埋め込まれるコンテンツを返すコントローラーがある場合に使用します。これは、大量のトラフィックがあり、実際にコントローラーレベルでキャッシュしている場合にも役立ちます。これは、多くのオーバーヘッドを排除できるためです。
<g:render.../>
ページ内にモジュール性が必要な場合に便利です。特に、最初にページの一部をロードしてから、AJAXイベントに基づいてそれを更新したいAJAX呼び出しの場合。
どちらもコンテンツを再利用するために使用でき、どちらも適切なコンテキストで適切です。
g:renderは、部分的なテンプレートで作業していて、必要なモデルなどがある場合に便利です。ただし、ビュー(テンプレート)に追加のより意味のあるものを渡すために追加の(または大規模な)進行が必要な場合は、 g:includeを使用します。g:includeを使用すると、優れたコントローラーも使用できるようになります。つまり、そのコントローラーを使用すると、コードがはるかに読みやすくなります。また、「コントローラーアクションに渡して、追加の操作を行わずにビューをレンダリングする」と「ビューをレンダリングする」の間にパフォーマンスの比較はありません。