grails - 脚手架更新阻止保存
grails - scafold update prevent from saving
我正在使用 grails 2.4.4 和脚手架生成的默认更新方法。假设它是:
@Transactional
def update(Club clubInstance) {
if (clubInstance == null) {
notFound()
return
}
if (clubInstance.hasErrors()) {
respond clubInstance.errors, view:'create'
return
}
clubInstance.save flush:true
request.withFormat {
form {
flash.message = message(code: 'default.created.message', args: [message(code: 'clubInstance.label', default: 'Club'), clubInstance.id])
redirect clubInstance
}
'*' { respond clubInstance, [status: CREATED] }
}
}
我想在某些情况下阻止保存。但我发现我可以将整个方法替换为:
@Transactional
def save(Club clubInstance) {
redirect action:"index"
}
而且还是省流量。只有当我从参数中删除 Club clubInstance
时,它才会停止将数据保存到数据库。谁能告诉我为什么会这样,我该如何控制储蓄?
感谢评论。这就是我想要的-有条件的节省。
@Transactional
def save(Club clubInstance) {
if(testSomeCondition())
clubInstance.save flush:true
else
clubInstance.discard()
redirect action:"index"
}
我正在使用 grails 2.4.4 和脚手架生成的默认更新方法。假设它是:
@Transactional
def update(Club clubInstance) {
if (clubInstance == null) {
notFound()
return
}
if (clubInstance.hasErrors()) {
respond clubInstance.errors, view:'create'
return
}
clubInstance.save flush:true
request.withFormat {
form {
flash.message = message(code: 'default.created.message', args: [message(code: 'clubInstance.label', default: 'Club'), clubInstance.id])
redirect clubInstance
}
'*' { respond clubInstance, [status: CREATED] }
}
}
我想在某些情况下阻止保存。但我发现我可以将整个方法替换为:
@Transactional
def save(Club clubInstance) {
redirect action:"index"
}
而且还是省流量。只有当我从参数中删除 Club clubInstance
时,它才会停止将数据保存到数据库。谁能告诉我为什么会这样,我该如何控制储蓄?
感谢评论。这就是我想要的-有条件的节省。
@Transactional
def save(Club clubInstance) {
if(testSomeCondition())
clubInstance.save flush:true
else
clubInstance.discard()
redirect action:"index"
}