2012-02-26 17 views
31

Cuando miro los métodos en los modelos de Rails, a veces veo self.method_name y algunas veces solo method_name. ¿Cuál es la diferencia y cuál es la guía para saber cuándo usar self. y cuándo no?Rails Model method self. vs plain

Respuesta

24

1) Cuando se aplica a las definiciones de métodos, 'self'. lo convertirá en un método de clase, mientras que simple será un método de instancia.

2) Cuando se aplica a atributos en un modelo, es importante usar siempre el self al cambiar un atributo, pero no lo necesitará de otro modo.

así por ejemplo:

def some_method 
self.name = new_value # correct 
name = new_value # will not change the attribute 
end 
+1

incluso mejor que la respuesta upstair. – neversion

+0

Punto 2) me estaba volviendo loco. ¡Gracias! –