-1

ここに私のコントローラーがあります:

def save = {
    def productNameInstance = new ProductName(params)
    if (pharmacyMasterUpdateCompositeService.addProductName(productNameInstance)) {
        flash.message = "${message(code: 'default.created.message', args: [message(code: 'productName.label', default: 'ProductName'), productNameInstance.id])}"
        redirect(action: "show", id: productNameInstance.id)
    }
    else {
        render(view: "create", model: [productNameInstance: productNameInstance])
    }
}

addProductName(productNameInstance) は、別のクラスで定義されているサービスを呼び出しています。ここで、ページが作成された場合、アクション:「表示」でのみリダイレクトが行われていることがわかります。私の問題は、「印刷」アクションがpdfファイルをダウンロードするときに、「表示」と「印刷」のような2つのアクションを同時にリダイレクトするにはどうすればよいですか?

4

1 に答える 1

-1

チェーンメソッドを使用できます。

def save = {
def productNameInstance = new ProductName(params)
if (pharmacyMasterUpdateCompositeService.addProductName(productNameInstance)) {
   //...        
  chain(action: "print", params: [id: roductNameInstance.id])
}
else {
    render(view: "create", model: [productNameInstance: productNameInstance])
}

def print = {
//...
chain(action: "show", params: params)
}

def show  = {  }


}
于 2012-06-29T09:29:39.633 に答える