gpt4 book ai didi

grails - binddata 在调用 save() 之前保存数据

转载 作者:行者123 更新时间:2023-12-02 15:26:09 25 4
gpt4 key购买 nike

我正面临着一个非常奇怪的 grails 场景。

这是情况。

我调用 Controller 方法

controller.updateQuestion(question.id)

现在在我使用的 Controller 中
//here question is first retrieved from as def question = Question.get(id)
binddata(question, params)

现在在上面的代码之后我做
question.validate()

然后检查问题是否有错误。如果是这样,那么它会返回而不保存,即
question.save(flush:true)

现在这就是我要做的。我调用 controller.updateQuestion(question.id) 发送有错误的参数(其中一个参数有错误,所以这个函数不应该成功。即它不应该更新问题)

奇怪的是它似乎没有达到我所拥有的地步
question.save(flush:true)

然而,它将参数值保存到域对象中。

所以,我的疑问是,binddata(question, params) 是否在进行保存?

最佳答案

你有很多选择。一种是在您想要解除更改的状态时回滚事务......

class SomeController {
def someAction() {
SomeDomain.withTransaction { tx ->
// retrieve a persistent instance and mutate it

// check to see if everything is ok

if(somethingWentWrong) {
tx.setRollbackOnly()
}
}
}
}

关于grails - binddata 在调用 save() 之前保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com