2012-02-26 14 views
31

Osservando i metodi nei modelli Rails, a volte vedo self.method_name e talvolta solo uno method_name. Qual è la differenza e qual è la guida per sapere quando usare self. e quando no?Rails Modello metodo self. vs plain

risposta

24

1) Quando applicato a definizioni di metodo, "self". lo renderà un metodo di classe, mentre plain sarà un metodo di istanza.

2) Quando applicato a attributi in un modello, è importante utilizzare sempre il sé quando si modifica un attributo, ma non ne sarà necessario altrimenti.

così per esempio:

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

anche meglio di risposta al piano superiore. – neversion

+0

Punto 2) mi stava facendo impazzire. Grazie! –

Problemi correlati