Grails 使用预设值创建新条目
解决了。我真的不知道我做了什么,但它奏效了。其中一个时刻 我的域对象是“Actiune”。我想从另一个具有给定id的条目向“createNewEtapa”方法添加一个具有4个预设字段的新条目。因此,我查询该条目(使用id)并获取其值,在表单中预设它们,然后点击保存,但它不起作用。保存将不起作用 我做错了什么?这件事我已经讨论了好几个小时了。请再次提供帮助:) 如果您不想检查所有代码,请告诉我这是如何完成的,或者给我链接一个示例:) 谢谢 这些是我的代码的相关部分 这是我的普惠制表格:Grails 使用预设值创建新条目,grails,Grails,解决了。我真的不知道我做了什么,但它奏效了。其中一个时刻 我的域对象是“Actiune”。我想从另一个具有给定id的条目向“createNewEtapa”方法添加一个具有4个预设字段的新条目。因此,我查询该条目(使用id)并获取其值,在表单中预设它们,然后点击保存,但它不起作用。保存将不起作用 我做错了什么?这件事我已经讨论了好几个小时了。请再次提供帮助:) 如果您不想检查所有代码,请告诉我这是如何完成的,或者给我链接一个示例:) 谢谢 这些是我的代码的相关部分 这是我的普惠制表格: <g
<g:form action="save" enctype="multipart/form-data">
<fieldset class="form">
<g:applyLayout name="form">
<tmpl:/templates/form />
</g:applyLayout>
</fieldset>
<fieldset class="buttons">
<g:submitButton name="create" class="save"
value="${message(code: 'default.button.adauga.label', default: 'Adauga')}" />
<g:actionSubmit name="create" class="save" action="savenew" value="Adauga2" />
</fieldset>
</g:form>
def create(Long id){
def actiuneInstance = Actiune.findById(id)
def c = Actiune.createCriteria()
def instanceList = c {
eq("idActiune", actiuneInstance.idActiune)
order("termenPornire", "asc")
}
params.idActiune = actiuneInstance.idActiune
params.tema = actiuneInstance.tema
params.firma = actiuneInstance.firma
params.user = User.findById(springSecurityService.currentUser.id)
[instance: new Actiune(params)]
}
def save() {
def actiuneInstance = new Actiune(params)
actiuneInstance.user = User.findById(springSecurityService.currentUser.id)
actiuneInstance.termenPornire = new Date()
def actiuneBD = Actiune.findByIdActiune(params.idActiune)
actiuneInstance.idActiune = actiuneBD.idActiune
actiuneInstance.tema = actiuneBD.tema
actiuneInstance.firma = actiuneBD.firma
print "in params " + params
print "\\"
print "in save... " + actiuneInstance.properties
if (!actiuneInstance.save(flush: true)) {
render(view: "create", model: [firInstance: actiuneInstance])
return
}
flash.message = message(code: 'default.created.message', args: [message(code: 'actiune.label', default: 'Actiune'), actiuneInstance.idActiune])
redirect(action: "completeShow", id: actiuneInstance.id)
}
这是save()方法中print语句的输出
*...*
在参数[termenLimita\U MOUNT:11,termenPornire\U MOUNT:11,termenPornire\U day:1,documentPath:,tema:Promotie A,termenLimita\U day:1,\u action\u savenew:Adauga2,id:,observationII:uuu,termenLimita:date.struct,termenPornire\U年份:2012,etapa.id:1,etapa:[id:1],contact.id:1]中,termenPornire:date.struct,firma:Google,idActiune:zt8h,termenLimita_年份:2012,操作:保存,控制器:actiune]
\
…
在保存。。。[user:Flavian,termenPornire:Thu Nov 01 22:57:45 EET 2012,联系人:null,文档路径:null,temaId:1,etapay:null,firmaId:3,firma:Google,contactId:null,termenLimita:null,idActiune:zt8h,observatii:null,userId:null,etapa:null,tema:Promotie A]调用
actiuneInstance.validate()
然后查看以查看对象上任何验证错误的结果