2012-01-03 9 views
18

¿Es necesario devolverlo? Digamos que está en el medio de una acción.¿Debo devolver "renderizar" en Grails?

render(contentType:'text/json', text: ['success': true] as JSON)  
return 
+0

@Don - ¿Cuál es la diferencia entre la mía y su edición? – RyanLynch

+0

funcionalmente, pueden ser lo mismo, pero creo que es mucho más fácil de leer ahora. Si no está de acuerdo, siéntase libre de revertir mi cambio –

Respuesta

27

Si usted no regresa, después de cualquier código también se ejecutará render, que con frecuencia no es lo que quiere, por ejemplo,

def someAction = { 

    if (someCondition) { 
    render view: 'success' 
    // if we don't return execution would fall through to the code below 
    return 
    } 

    log.error 'something went wrong' 
    render view: 'error' 
} 

Por supuesto, si se utiliza este estilo en su lugar, no hay necesidad de volver

def someAction = { 

    if (someCondition) { 
    render view: 'success' 

    } else {  
    log.error 'something went wrong' 
    render view: 'error' 
    } 
} 

Si una acción tiene un solo punto de salida, no hay necesidad de volver después de render

def someAction = { 
    render view: 'success' 
} 

Solo recuerde que el código después de render se ejecutará si no devuelve.

Cuestiones relacionadas