0

最近、1.3.6 アプリケーションを Grails2 にアップグレードしました。テスト ケースが失敗し始めました

これがシナリオです。コマンド オブジェクトと制約があります。リクエストがアクションにヒットすると、パラメーターname( localhost:8080/app-name/Book/test?i=0) なしで検証エラーが発生します。Grails doc によると、Command Object フィールドはデフォルトで null 可能です。このテストから、そうではないようです。私の質問は、すべてのコマンド オブジェクトに対してグローバルに nullable を true にするにはどうすればよいですか? 以下のコード、

class BookController {

    def test = {TestCommand cmd ->
        cmd.validate()
        if (cmd.hasErrors()) {
            println "has Errors"
            render 'Error'
        } else {
            println "Success"
            render 'Hello World'
        }
    }
}

コマンド オブジェクトは次のとおりです。

class TestCommand {
       int i;
       String name

       static constraints = {
         name(password: true)
       }
} 
4

1 に答える 1

2

Grails のバグであることが判明しました。Grails 2.0 では、コマンド オブジェクトのデフォルトの null 許容値に関する動作が変更されました。ジラーはこちら

于 2012-01-05T15:25:27.020 に答える