Grails: отображение сообщения об ошибке в веб-потоке - PullRequest
0 голосов
/ 06 марта 2012

Я хочу показать сообщение об ошибке моего домена в .gsp, но почему-то не могу .. В моем контроллере

class SomethingController {
    def index(){
        redirect(action: "create")
    }

    def createFlow = {
        stepOne {
            on("submit"){
                domain = new Domain(firstColumn: params.firstColumn)

                if(!domain.validate()){
                    return error()
                } else {
                    return success()
                }
            }.to "stepTwo"  
        }
        stepTwo {
            ...
        }
    }
}

И в моем .gsp, у меня есть:

<g:renderErrors bean="${domain}" />

Я определенно уверен, что если я "println domain.errors", я получаю сообщение об ошибке проверки. Однако при сбое в stepOne я не вижу никаких сообщений об ошибках, так как $ {domain.errors} выводит 0 ошибок.

Пожалуйста, помогите ... это может быть глупой ошибкой, которую я делаю ...

1 Ответ

0 голосов
/ 06 марта 2012

Вы должны быть в состоянии передать объект домена или любое другое значение через поток что-то вроде этого (не проверено):

class SomethingController {
def index(){
    redirect(action: "create")
}

def createFlow = {
    stepOne {
        on("submit"){
            domain = new Domain(firstColumn: params.firstColumn)

            if(!domain.validate()){


                flow.domain= domain
                // or 
                flow.errorMessages="this is an error"


                return error()
            } else {
                return success()
            }
        }.to "stepTwo"  
    }
    stepTwo {
        ...
    }
}

}

и отобразить его на вашем виде, какэто:

 <div>${errorMessages}</div>
 <g:renderErrors bean="${domain}" />
...