grails命令对象id字段的数据绑定

Ste*_*lle 7 data-binding grails

当使用命令对象时,似乎我没有得到id字段的自动绑定

class somethingCommand {

 int id
 String A
 String B

 // some methods here like Domain.get(id)

}
Run Code Online (Sandbox Code Playgroud)

我的A和B字符串从表单属性中获取自动魔术数据,但不是id.grails的其他"隐藏字段"如version,dateCreated或lastUpdated也正确绑定.

我目前修补的解决方案如下:我在我的表单中定义另一个隐藏的id字段

<g:hiddenField name="blogId" value="${blog?.id}"/>
Run Code Online (Sandbox Code Playgroud)

并在命令obect中将id重命名为blogId并且该方法有效.

这似乎与Grails的优雅不符.我在Command对象与控制器的数据绑定规则中缺少什么?

小智 7

跟进这个问题:

我遇到了同样的问题:我有一个带有id参数的命令.在使用该命令的操作上调用我的控制器时,除了id之外,所有参数都被正确绑定.

事实证明,如果您的命令中有一个名为version的字段,则不会分配id字段.

如果您为其他内容更改版本字段的名称(即readVersion),则ID将正确映射.

希望有所帮助,

Vincent Giguere