0

これはおそらくばかばかしいほど簡単な質問ですが、それでも私はそれに苦労しています。

私はフォームを持っています:

.
.
.
<g:form controller='somecontroller' action='someaction'>
    <g:textField name='name'/>
    <g:checkBox name='active'/>
    <g:submitButton name='save'/>
</g:form>
.
.
.

そして、私はコマンドオブジェクトを持っています:

class MyCommandObject{

    String name
    Boolean active

    static constraints{
        .
        .
        .
    }
}

コントローラのコマンドオブジェクトのアクティブプロパティにアクセスしようとすると、常にfalseになります。ただし、nameプロパティは適切に入力されています。値をtrueに変更しようとしましたが、$ {true}(いくつかの例で見たように)も変更しましたが、どれも機能していないようです。私はここで何が間違っているのですか?

編集:コントローラーのコマンドオブジェクトにバインドする方法:

class MyController{

    .
    .
    .

    def save(MyCommandObject cmd){

        // Do validation/error checking

        def myDomainObject = new DomainObject()

        myDomainObject.name = cmd.name
        myDomainObject.active = cmd.active

        // Do something with myDomainObject

    }

}

私もスタイルを試しました:

def save = { MyCommandObject cmd ->

    .
    .
    .
}
4

1 に答える 1

1

あなたがしたことはすべてうまく見え、私は1.3.7と2.0.4で動作することを確認しました。

を実行して、再試行してくださいgrails clean

于 2012-07-19T22:28:22.753 に答える