0

可能重复:
填充域实例的 Grails

在我这样做的时候,我想将一个 childInstance 对象从我的视图传递给控制器

<g:formRemote url="[action: 'updateStatus']" update="messages" name="updateStatusForm" onSuccess="document.updateStatusForm.message.value='';">

updateStatus 方法如下

def updateStatus(String message) {
        def status = new Post(message: params.message, author: lookupPerson())
        System.out.println("status: " + status.message + " : " + status.author)
        status.save(flush: true, failOnError: true)
        def messages = currentUserTimeline()
        render template: 'profileMessages', collection: messages, var: 'profileMessage'
    }

我想从我的视图中添加一个 childInstance 到 updateStatus。但是如果我不将 childInstance 传递给更新状态,我也想工作。

我希望这是有道理的。

4

2 回答 2

0

您不能将对象实例作为请求参数传递给控制器​​。请求参数是字符串。因此,您可以将对象 ID 作为参数传递,然后在控制器中按 ID 加载此对象。

于 2012-09-10T18:37:15.107 回答
0

将此添加到网址

url="[action: 'updateStatus' params:[id:'obj.id']]"

并在您的控制器方法中调用它

object = Obj.get(params.id)
于 2012-09-11T13:47:26.280 回答