いくつかのロジックを実行し、HTML に織り込まれたデータをレンダリングする taglib を作成しました。ビューで taglib を使用すると、taglib はビューの相対サブフォルダーでテンプレートを見つけることを期待します。ビューのlayouts/フォルダーのような共通フォルダーからtaglibにテンプレートを取得させる方法はありますか? taglib コードは次のようになります。
class IconifiedTextTagLib {
def renderIconText = { attrs, body ->
//some processing logic to generate the modelMap
out << render(template:"taglibTemplates/iconText", model:modelMap)
}
}
<g:renderIconText />
たとえば、A という名前のコントローラーでタグを使用すると、 taglibTemplates/iconTextがviews/A/フォルダーに存在することが期待されます。複数のコントローラーから使用できるようにする必要があるため、これは問題です。すべてのビューで使用できるように、テンプレートを layouts/ のようなフォルダーに配置する方法が必要です。これを行う方法について何か考えはありますか?