7

El uso de variables locales parece aconsejable en un parcial que podría usarse en toda la aplicación para evitar dependencias en toda la aplicación.¿Debería usar solo variables locales en un parcial?

Pero dentro de un solo controlador parece aceptable hacer referencia a las variables de instancia que usted sabe que estarán disponibles en todas las acciones que usan el parcial.

Si hace esto, parece haber un riesgo, sin embargo, de que una acción en particular se modifique para dejar de proporcionar la variable de instancia a su vista. Entonces el parcial dejaría de funcionar. Sin embargo, no estoy seguro de si esto es realmente un problema, ya que una vista normal tendría el mismo riesgo.

¿Importa si referencia variables de instancia en un parcial?

Respuesta

7

¡Estás en una buena racha hoy! :-)

Puede pasar variables en el parcial como :locals para mantener todo esto bien y limpio. Por ejemplo,

render :partial => 'my_partial', :locals => { :some_variable => some_variable, :some_important_value => 'an important point!' } 

Estas variables son entonces disponibles en la vista parcial:

<%= some_variable %> 
<%= some_important_value %> 

Sin embargo, no hay nada en concreto de malo en usar variables de instancia en sus parciales.

+0

Gracias por responder de nuevo :) Por lo tanto, ¿diría que es siempre aceptable para hacer referencia a una instancia variable en un parcial o es justo decir que esto crea una dependencia inaceptable? – eggdrop

+0

Eh, está bien. Las variables de instancia están disponibles durante toda la sesión, por lo que, como dices, no es mejor o peor que acceder a una en la vista adecuada. –

2

lo haría sólo se recomienda el uso de variables de instancia, siempre que el parcial no se comparte, ya que esto puede prestarse a confusión muy rápido;)

Cuestiones relacionadas