我一直在努力阅读并尝试理解命令对象,但我还没有理解如何在我的特定场景中使用它们。
这就是我所拥有的:
class Beneficary {
String name
//more attributes
static hasMany = [dependents = Dependent]
}
class Dependent {
DegreeKinship degreeKinship //enum
//several atrributes
static belongsTo = [beneficiary: Beneficiary]
}
我已经阅读了几篇文章,包括SO答案,如果有人愿意,应该使用命令对象,但我不知道如何。
我写了这个:
class DependentCommand {
List<Dependent> dependents = ListUtils.lazyList([], {new Dependent()} as Factory)
}
但我不确定如何在我的Beneficiary
课程中使用它。
另外,我希望在一个视图(beneficiary/create
)
非常感谢任何帮助。
答案 0 :(得分:-1)
我认为你不应该在Beneficary类中使用它们,在BeneficaryController中使用它们。
命令对象为您提供了一种封装,转换和验证请求参数的标准化方法。因此,它们的主要用途是在一个控制器中,而不是一个可以在本机上完成大部分命令对象功能的域类。
如果您想接受包含dependents=1&dependents=2
行参数的请求,您可以像这样重写命令:
class DependentCommand {
List<Dependent> dependents
}