Итак, я наконец начал вырывать части из формы и обнаружил, что по какой-то причине вы не можете назвать флажок Grails, начинающийся со слова «действие». Это должно быть что-то, связанное с записью params ["action"] по умолчанию. Хотя мои имена флажков были объединением "action_" + id.
В любом случае, была какая-то предварительная обработка параметров формы флажка, которые взрывались перед тем, как попасть в контроллер, и каким-то образом переводились в 404 вместо фактического исключения.
Первоначально у меня было это:
<g:checkBox name="action_${serviceRefreshAction.id}" value="${true}" />
Что делает это:
<input type="hidden" name="_action_7196" /><input type="checkbox" name="action_7196" checked="checked" id="action_7196" />
Я изменил «действие» на «myAction», например:
<g:checkBox name="myAction_${serviceRefreshAction.id}" value="${true}" />
Что делает это:
<input type="hidden" name="_myAction_7206" /><input type="checkbox" name="myAction_7206" checked="checked" id="myAction_7206" />
А теперь все отлично работает.
Пять часов моей жизни на ветер.
Но я полагаю, что должен простить Грааля, потому что все это спасает меня ежедневно. : О)