假设我有一个域类branch
,它有几个成员:
…
static hasMany = [ members:Member ];
…
现在假设我想让该分支的成员数量随时可用,让它显示在list
andview
操作中,所以也许将该信息存储到域类本身的变量中是个好主意?
…
Integer memberCount = members.size();
static constraints = {
memberCount(editable:false);
}
…
(这是正确的语法吗?) 编辑:这不是正确的语法。我无法评估成员列表的大小,因为它还不存在,并且 grails 会抱怨 size() 不适用于空对象。我还能尝试什么?
但是,由于memberCount
现在是域类中的一个变量,因此可以在创建时为其分配一个值Branch
(这是违反直觉的),并且一旦添加了新变量,它就不会自动更新Member
。
当然可以以不同的方式达到预期的结果。我可以在目录中操作view.gsp
and ,在那里添加一些额外的 s 等等。但这对我来说似乎不是很优雅。list.gsp
/Branch
<td>
基本上,我认为我正在寻找某种方法来告诉 grails 某个变量是派生的,用户不应该设置,而是在必要时更新。有没有这样的方法?