Документация Grails URL Mappings не поможет вам в этом конкретном случае (amra, в следующий раз попробуйте сами и опубликуйте ответ, только если это поможет).Решение Даниэля было близко, но не сработало, потому что:
- часть действия должна быть закрыта при динамическом создании
- все именованные параметры, исключая "controller", "action"и «id» доступны через объект params
Решение может выглядеть следующим образом:
"/admin/$controller/$adminAction?/$param?"{
action = { "admin_${params.adminAction}" }
}
Ключ НЕ в том, чтобы называть параметр «action», потому что онКажется, что он напрямую сопоставлен с действием и не может быть переопределен.
Я также пробовал динамическое решение с общими префиксами, и оно также работает:
"/$prefix/$controller/$adminAction?/$param?"{
action = { "${params.prefix}_${params.adminAction}" }
}