2011-05-26 7 views
25

¿Hay un equivalente en Rails to PHP's die()?Rieles equivalentes a php die()?

Tengo un caso en el que mi código de controlador sería un poco más limpio para configurarlo de una manera que a veces llamaría renderizar dos veces, a menos que haya un dado().

+0

has necesitado hacer un 'return'? (sin argumentos) –

+0

@Andrei S, Eso funcionaría, pero tengo varias acciones que usan un método de rescon común, y solo quiero llamar "morir" una vez en el método de respuesta común. – tybro0103

Respuesta

46
abort("Message goes here") 

Ver: How to create an exit message

+1

Una mejor respuesta es 'render: text =>" El mensaje va aquí "' – skcin7

+5

No pretenderé ser un experto en Ruby, pero de acuerdo con [este artículo] (http://guides.rubyonrails.org/layouts_and_rendering.html) parece que 'render' es inapropiado como equivalente a' die() 'de PHP porque la ejecución continúa después de que se invoque' render'. –

1

una asignación directa de PHP de die() en Ruby sería Kernel::exit()

+1

Er, realmente no lo es. 'Kernel :: exit()' genera una excepción SystemExit, una excepción que puede capturarse e ignorarse. Si bien PHP 'die()' permite ejecutar los destructores, esta es una circunstancia diferente y llamarlo una asignación directa es totalmente inexacto. –

Cuestiones relacionadas