Suponiendo un modelo de Rails con atributos persistentes/no persistentes, ¿cuál es la mejor práctica para hacer referencia a ellos? Si observa el código públicamente disponible, se usan diferentes patrones.Diferencias entre *, self. * Y @ * al hacer referencia a asociaciones/atributos en Ruby/Rails Models/Controllers
Por ejemplo, si tiene una asociación de un modelo a otro. ¿Cuál es la diferencia entre usar self.association_name y @association_name?. ¿Cuál es la forma preferible?
Igual que con atributos no persistentes definidos con attr_accessor: attr en Modelos. Puede hacer referencia a ellos con ambos enfoques, self.attr y @attr. ¿Cuál es la forma preferible?
En cuanto a las asociaciones:. ¿Tengo realmente que usar auto * para hacer referencia a ellos? ¿Cuál es la desventaja de saltearse a sí mismo. * En este contexto? – Scholle
@Scholle Debe usar 'self.x = y'; de lo contrario, Ruby pensaría que desea asignar la evaluación de' y' a la variable local 'x' (lo cual hará felizmente, creándola si es necesario). Sin embargo, suponiendo que no hay una variable 'x' en el alcance, entonces' self.x' y 'x' invocarán el método' x'. Algunas personas prefieren omitir 'self' en este caso (lo haría). El gran problema es * ser consistente *. –