Проблема, получающая доступ params.id в фильтре

Я должен создать фильтр, который включается, любой сохраняет/обновляет действие для записи истории того, что делается. У меня есть проблема при получении идентификатора объекта, которым управляют.

Мои контроллеры упростили:

class FooController {

    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

    def save = {

        def fooInstance = new Foo(params)

        if (fooInstance.save()) {
           // params.id = fooInstance.id
            return redirect(action: "show", id: fooInstance.id)
        } else {
            return render(view: "create", model: [fooInstance: fooInstance])
        }
    }
}

Мой фильтр должен получить идентификатор объекта, что я поместил в ответ перенаправление, но если я не некомментирую, что params.id = fooInstance.id выше моего фильтра становится пустым для params.id, я должен пропускать что-то имеющее дело с объемами переменной:

 def filters = {

        history(controller: '*', action: 'save|update|delete|restore') {

            after = { 
                println params.id
            }
    }
}

Я также попробовал передающую модель к после = ожидание получить мой fooInstance, но я становлюсь пустым также. Какие-либо идеи обо что случилось?Спасибо.

1
задан Micor 13 August 2010 в 22:19
поделиться

1 ответ

Посмотрите этот плагин http://grails.org/Hibernate+Events+Plugin или плагин журнала аудита grails. Я думаю, они уведут вас довольно далеко.

Это другой подход, чем вы упомянули в своем вопросе, но я думаю, что вы можете предпочесть его.

2
ответ дан 2 September 2019 в 22:10
поделиться