Tengo muchos métodos de acción que no necesitan crear una variable de instancia para representar la vista, porque estos métodos solo redirigirán a otras acciones de otros controladores . Me pregunto: ¿es una buena costumbre crear siempre una variable de instancia por el simple hecho de seguir las convenciones de Rails, o no existe tal cosa? Mi intuición es que la variable local reduce los costos de memoria, pero el código no se ve bonito.En rieles, ¿importa usar variable local o variable de instancia en métodos de acción
Respuesta
Parcialmente tenemos que utilizar variable de instancia en los casos siguientes,
- Cuando necesitamos acceder a la variable de la vista
- Si estamos llamando a un método de la acción, en lugar de devolver un valor, puede actualizar directamente la variable desde el método llamado.
¿Por qué deberíamos usar la variable de instancia si nuestro trabajo se puede hacer con una variable local.
No es una convención crear variables de instancia si no se envían a la vista.
- Las variables deben tener el alcance más estrecho posible.
- Deben ser locales si no se pasan a la vista.
- Use un presentador si tiene un "montón" de datos de visualización (en lugar de una tonelada de vars de instancia).
Las variables de instancia pueden ser utilizados si varios métodos actúan sobre ellos antes de la vista, incluso si no se usan en la vista, pero esto hace que el código mucho más difícil de razonar acerca de la prueba y de manera aislada .
Si se encuentra usando variables de instancia para mantener cálculos intermedios, probablemente necesite replantear su flujo y/o diseño.
Además, al usar vars de instancia donde los vars locales harían, se conservará la referencia de memoria más tiempo de lo necesario. Para mantenerse delgado es beneficioso por una variedad de razones. – Midwire
La única razón por la que utiliza variables de instancia en los controladores es obtener cosas en la vista sin tener que pasar explícitamente un montón de estado alrededor.
Si no tiene ningún estado, entonces no tiene variables de instancia, por lo que no hay motivo para usarlas.
- 1. C# Copia variable de instancia de variable local en funciones de la misma clase
- 2. Variable de instancia de CoffeeScript
- 3. convertir la variable local de JavaScript en la variable global
- 4. indefinido variable local o método capibara rspec
- 5. variable local indefinida o método 'usuario_actual'
- 6. problema local variable en Python
- 7. Uso de una variable de clase versus envío de variable local a funciones/métodos
- 8. ¿Puedo decir o indicarle a RubyMine qué tipo de variable local o de instancia es?
- 9. ¿Cómo usar una variable como atributo de objeto en rieles?
- 10. Declaración local "x" oculta la variable de instancia xcode warning
- 11. Mantener una variable global o recrear una variable local en c?
- 12. última variable local en Java
- 13. Recolección de basura en una variable local
- 14. Cuándo usar una variable variable en PHP?
- 15. Inicialización de variable de instancia en Ruby
- 16. Variable de tipo de instancia en Haskell
- 17. variable local de Javascript declarar
- 18. ¿Cómo declarar una variable local en Razor?
- 19. última variable en métodos en Java
- 20. Variables de instancia en los rieles Modelo
- 21. NSString con Instancia variable
- 22. Javascript: Obtener acceso a la variable local o variable en el cierre por su nombre
- 23. variable local indefinida o método `acts_as_taggable 'en gema
- 24. ¿Cómo puedo usar una variable local (o vista) en Sinatra con parciales de Haml?
- 25. instancia de variable 'variable' visitada por error método de clase
- 26. Optimización de Java: variable local o llamada de función
- 27. ThreadLocal vs variable local en Runnable
- 28. Crear una variable local en Haml solo
- 29. Pregunta de alcance de variable local
- 30. Punteros de variable de instancia Objective-C
Un caso más que podemos hacer uso de la variable de instancia es con el uso del almacenamiento en caché, ejemplo - def total_budget @totoal_budget || = el cálculo va aquí al final – nkm