Grails, заполняющий экземпляр домена
Я застрял на пару дней с той же проблемой, и я никуда не денусь.
Я использую тег g: formRemote для обновления шаблона сообщений
<g:formRemote url="[action: 'updateStatus']" update="messages" name="updateStatusForm"
onSuccess="document.updateStatusForm.message.value='';">
<g:textArea name="message" value="" cols="3" rows="1"/><br/>
<g:submitButton name="Update Status"/>
</g:formRemote>
Затем эта форма вызывает метод updateStatus в моем контроллере
def updateStatus(String message) {
def status = new Post(message: params.message, author: lookupPerson())
status.save(flush: true, failOnError: true)
def messages = currentUserTimeline()
render template: 'profileMessages', collection: messages, var: 'profileMessage'
}
Но строка состояния def должна быть
def status = new Post(message: params.message, author: lookupPerson(), child: Child.get(childInstance.id)
На мой взгляд, у меня есть childInstance, который выбран пользователем. Есть ли в любом случае у меня может быть глобальная переменная в контроллере, который сохраняется, или я могу отправить идентификатор параметра дочернего экземпляра в теге formRemote. Я не думаю, что я пытался сделать это таким образом сегодня.
Любая помощь будет хорошей. Единственный способ, который я знаю, будет работать, это записать childInstance.id в файл свойств и прочитать его обратно, но должен быть лучший способ, так как я думаю, что это будет очень плохой практикой.