У меня есть пользователь домена, у которого есть много очередей. Добавление и отображение очередей работает нормально, но когда я удаляю очередь от пользователя, очередь удаляется, но все же отображается в браузере. Вид обновляется только после выхода из системы и входа в систему.Объект домена Grails не обновляется в gsp
Где я удалить их:
def user = session?.user
def queue = Queue.findById(params.queueId)
if(queue){
user.removeFromQueues(queue)
queue.delete(flush:true)
flash.message = "deleted queue with id: ${queue.id}"
redirect(controller:'queue', action:'index')
}
И отображается таким образом:
<g:each in="${session?.user?.queues}">
<div id="queue">
${it.name} id:${it.id}
<div id='queueButtons'>
<g:hiddenField name="queueId" value="${it.id}" />
<g:link controller='queue' action='delete' params="[queueId: "${it.id}"]">X</g:link>
</div>
</div>
</g:each>
Почему пользователь не обновляется? Когда я добавляю очередь пользователю, она отображается немедленно. Есть ли способ обновить пользователя/сеанс?
потому что вы сохраняете пользователя в сеансе. Это очень-очень-очень плохая идея. – Koloritnij