在我的控制器

时间:2016-01-06 22:32:31

标签: grails groovy

将方法的参数保存到另一个。

在我的方法contentPerson中保存我的def saveperson中的人员参数。有谁知道如何保存参数 - 没有找到我的方法savework

def saveperson(Person personIntance) {
    def contentPerson =personInstance.save(flush:true)
     redirect(controller:'Person', action:'creatework')
      flash.message="I automatically select the person id";
}

def savework(Work workInstance,contentPerson) {
    def work1 = new Work(name:params.name,person:contentPerson, profession:params.profession)
    work1.save(flush:true)
}

消息:

  

没有这样的属性:contentPerson

1 个答案:

答案 0 :(得分:2)

重定向会产生一个全新的调用,因此它是一个完全不同的上下文。 你可能想试试这个:

redirect(controller:'Person', action:'creatework', params:[contentPerson: contentPerson])

或将其保存在flash中,如下所示:

flash.contentPerson = contentPerson

您可以将其用于其他请求,例如:

flash.contentPerson

但你应该避免使用flash消息。所以更好的传递参数。