Witam
Jak jest różnica gdy w modelu piszę self.number a self[:number]?
Pozdrawiam
Witam
Jak jest różnica gdy w modelu piszę self.number a self[:number]?
Pozdrawiam
Niewielka. self.number wywali błąd jeśli nie ma takiego atrybutu, self[:number] zwróci nil.
2 rozne implementacje, self[:number] jest chyba wolniejsze poniewaz kod jest wykonywany na bierzaco, natomiast kod self.number bedzie zdefiniowane tuz po utworzeniu obiektu. W przypadku np kolumn DateTime self[:created_at] bedzie wykonywalo typecast za kazdym uzyciem, natomiast self.created_at wykona typecast raz, a nastepnie bedzie pobieral wartosc z cache az do przeladowania calego obiektu.