将对象从视图传递到grails中的对象

时间:2012-09-10 15:33:54

标签: grails

  

可能重复:
  Grails populating a domain instance

我想在我执行此操作时将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传递给更新状态,我也想工作。

我希望这是有道理的。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

将此添加到网址

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

并使用

在控制器方法中调用它
object = Obj.get(params.id)