これはおそらくばかばかしいほど簡単な質問ですが、それでも私はそれに苦労しています。
私はフォームを持っています:
.
.
.
<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 ->
.
.
.
}