嵌套内联域类编辑

时间:2013-03-08 14:26:29

标签: grails groovy gorm

我有一个名为UserForm的域类,其中一个名为securityVerifications

列表对象
class UserForm {
    List securityVerifications = new ArrayList()
    static hasMany = [
        securityVerifications : SecurityVerification
    ]
}

然而,域类SecurityVerification也有一个名为questions的List对象

我要做的是为用户构建一个表单来编辑这些List对象。

我可以让SecurityVerification的实例在没有问题的情况下保存,但我无法获取Question的实例来保存。

目前我的UserController只是使用log.debug添加逻辑生成User保存的任何验证或错误。

我的观点相当复杂,但基本上输入字段包含以下内容,i的索引为SecurityVerificationjQuestion索引

name="securityVerifications[${i}].questions[${j}].<field>"

如何将嵌套的List对象保存在单个视图和控制器中?

1 个答案:

答案 0 :(得分:0)

解决了我的问题。基本上,域类Question具有外键关系属性。

class Question {
    SomeClass someClass
}

将输入字段和选项传递回UserFormController的方法无法将String id与类相关联。抛出类型错误。

通过解决此问题,我使用了原始数据类型Long

class Question {
    Long someClassId
}

当涉及到Show或post-save编辑时,我只是做了:

SomeClass.get(question.someclassID)