lunes, 24 de septiembre de 2012

Chain = encadenar

Las acciones pueden ser encadenadas. El encadenamiento permite guardar el model de una acción a otra. Por ejemplo llamamos a sucesivas acciones en este código:
class ExampleChainController {

def first() { chain(action: second, model: [one: 1]) }

def second () { chain(action: third, model: [two: 2]) }

def third() { [three: 3]) } 
}

Al final de la tercera accion tu model sería,
[one: 1, two: 2, three: 3]

El modelo puede ser accedido en el siguiente controller al chain usando el mapa chainModel. Esta propiedad dinámica existe sólo en acciones siguientes a la llamada de algún método chain.
class ChainController {

def nextInChain() { 
def model = chainModel.myModel
 … 
} 
}

Como en el método redirect, puedes pasar también parámetros a un método chain:
chain(action: "action1", model: [one: 1], params: [myparam: "param1"])

1 comentario:

  1. The King Casino - Herzaman in the Aztec City
    The King Casino in Aztec City herzamanindir.com/ is the place where you can find and nba매니아 play for real, real money. Enjoy 출장샵 a memorable stay at this one-of-a-kind https://access777.com/ casino 출장안마

    ResponderEliminar