我有doman课程:
package testgrails12
class Teams {
String name
static mapping = {
version false
}
static constraints = {
name nullable: true
}
}
我正在尝试删除或更新表中的数据在我的控制器中:
def team = Teams.get(1)
team.delete()
更新
team.name = '123'
team.save()
我在第一次或第二种情况下都没有得到结果。我也没有任何错误。我糊涂了。它只是不起作用。我在数据库中看到了结果。
答案 0 :(得分:1)
一个好的起点是生成视图和控制器,以了解视图和控制器之间发生“东西”的方式,运行generate-all命令。
generate-all testgrails12.Teams
你最终会得到一个TeamsController和所有相关的gsps。
你也可以使用与上面基本相同的scaffolding,但隐藏所有魔法。 创建以下团队控制器:
class TeamsController {
static scaffold = Teams
}
答案 1 :(得分:0)
删除 - >
def delete(Long id) {
def teamsInstance = Teams.get(id)
if (!teamsInstance) {
your logic, if team instance is null
}
teamsInstance.delete(flush: true, failOnError:true)
}
更新 - >
def update(Long id {
def teamsInstance = Teams.get(id)
teamsInstance.setName("xyz");
teamsInstance.save(flush: true, failOnError:true)
}
在这两个动作中我都使用了flush:true,failOnError:true 如果您的域中存在任何错误,则failOnError将引发异常,并且在异常的帮助下您可以跟踪该问题。
答案 2 :(得分:-1)
用于将结果提交到数据库使用session的特殊方法 - flush()