コントローラーの範囲外でテンプレートをレンダリングしようとしています。
テンプレートをレンダリングするビューは、views/home/index.gsp にあります。
編集:
テンプレート「 _list-clients.gsp」と「_list-hubs.gsp 」をレンダリングしようとしました。どちらも /views にあるメイン レイアウト「main.gsp」の/views/templatesにあり、呼び出す taglib を使用します。 /views/clientにあるビュー " list.gsp "
ビューに content-tag を含める方法は次のとおりです。
<g:pageProperty name="page.client-menu"/>
ここでは、list.gsp の content-tag で taglib を呼び出します。
<content tag="client-menu">
<g:createClientMenu ></g:createClientMenu>
</content>
そして、ここに私のtaglibがあります:
package com.pmedia.taglib
import com.pmedia.domain.Company
class CreateClientMenuTagLib {
def createClientMenu = { attrs, body ->
def company = Company.findByName("pMediaNetwork")
out << '<ul>'
out << '<li class="dropdown">'
out << '<a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">'
out << 'Select Hub or Client for ' + company?.name
out << '<b class="caret"></b>'
out << '</a>'
out << '<ul class="dropdown-menu pull-right">'
if ( company?.getHubs()) {
out << render(template:"/templates/list-hubs", collection: company.getHubs(), var:"hubs")
}
if ( company?.getClients()) {
out << render(template:"/templates/list-clients", collection: company.getClients(), var:"clients")
}
out << '</ul>'
out << '</li>'
out << '</ul>'
}
}
テンプレートは、views/templates/_list-hubs.gsp にあります。
このエラーが発生し続けます:
URI
/newLayout/home/index
Class
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException
Message
Template not found for name [templates/list-hubs] and path [/home/templates/_list-hubs.gsp]
URL の先頭に「/」を付けると、grails がビュー フォルダーを検索し始めると思っていましたが、何らかの理由でテンプレートが見つかりません。
これを解決する方法を知っている人はいますか?