Контроллер для ошибки:
это метод создания ошибки, я распечатал 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])
}
}
Я знаю, что могу обойти это, добавив активность в метод сохранения, но почему я теряю активность из create() -> save()