我正在尝试为 hasMany 实现“批量”插入。并在那里完成了 90%,但是我的多类设计遇到了问题。我有一个模型
class Parent {
static hasMany = [references: Reference]
}
class Reference {
static belongsTo = [parent: Parent]
String name
}
class ConcreteReference extends Reference{
String childName
}
我能够working
通过像这样的标记来获得创建(通过创建记录来定义)
<form action='reference/1/edit>
<input name='references[0].name' value='name1' />
<input name='references[0].childName' value='childName1' />
<input name='references[1].name' value='name2' />
<input name='references[1].childName' value='childName2' />
</form>
但问题是它总是创建具体类型(class='domain.Reference'),所以“子名总是空的。
我用了:
def edit(def id){
def parent = Parent.get(id)
//i actually clear all the old references first (didn't show that code)
parent.properties = params
parent.save(flush:true)
}
我如何指定“具体类型”(我尝试了一个隐藏的类值,但它不起作用)或者是否有一种简单的方法可以循环通过 params.reference[idx] 创建它然后将其添加到父级?
希望这很清楚,如果您需要任何澄清,请告诉我。