错误控制器:
这是一个错误的创建方法,我打印出来了bugInstance.activities
,里面有我的活动对象
def create = {
def bugInstance = new Bug()
def activity = new Activity(description:"created")
bugInstance.properties = params
bugInstance.addToActivities(activity)
return [bugInstance: bugInstance]
}
然后我查看了保存方法,并打印了完全相同的内容,结果为空,所以不知何故它丢失了我创建的活动,我不知道为什么。这真的是默认行为吗?我是不是在做一些非常基本的错误,因为似乎没有任何理由这样一个简单的代码不起作用。
def save = {
def bugInstance = new Bug(params)
println bugInstance.activities
if (bugInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'bug.label', default: 'Bug'), bugInstance.id])}"
redirect(action: "show", id: bugInstance.id)
}
else {
render(view: "create", model: [bugInstance: bugInstance])
}
}
我知道我可以通过在 save 方法中添加活动来解决这个问题,但是为什么我会从 create() -> save() 中丢失活动