これは、コントローラーのアーティファクトを繰り返し処理し、URL マップを動的に構築することで実現しました。
class UrlMappings {
static mappings = {
def adminControllers = ACH.grailsApplication.controllerClasses
.findAll({ it.logicalPropertyName.endsWith('Admin')})
.collect({ it.logicalPropertyName })
adminControllers.each { controllerName ->
def shortName = controllerName - 'Admin'
"/admin/$shortName/$action?/$id?" (controller: controllerName)
}
}
}
Burt BeckwithによるApplicationContextHolder
このブログ投稿で説明されているように、ACH はカスタムです。
編集:
/admin/blah
これにより、 にマップされますがBlahAdminController
、 は含まれないような URL 構造が作成されます/admin/blahAdmin
。