Por eso, pero no existe tal cosa como: @foo dónde foo es una columna Claro, pero sí existe self.foo donde foo es una columna y a eso apuntaba yo. Uno usualmente hace self.foo automáticamente sin declararlo, cuando usás Rails con AR. Y esa costumbre de usar self.foo puede llevarte a pensar que podés acceder a @algo como self.algo sin declararlo (al menos es lo que me pasó a mi, pensaba que self era una especie de "this" de c#/Java, por ejemplo, y en AR mapea a atributos, pero usualmente uno lo usaría para mapear a variables privadas y de ahí la conexión), y es lo que hizo que, por ejemplo, no tuviera ni idea de la existencia de @attributes hasta entrar a este thread.
Ya es una tontería seguir discutiendo esto, pero mi previa confusión con respecto al self viene de AR. El 25 de noviembre de 2009 16:23, Gaston Ramos <[email protected]>escribió: > El Wed, 25 de Nov de 2009, a las 04:27:06PM -0200, Bizancio Spirit dijo: > > Pero los campos de columnas no tienen nada que ver con variables de > > instancia > > de una clase. > > > > Si tienen que ver! :D Porque Rails te mapea las columnas que pongas en la > > migration y te permite acceder a esos valores desde los models sin poner > una > > línea de código. Internamente supongo, como dijeron por ahí también, te > crea > > los getters, y te pone los valores en @attributes. > Por eso, pero no existe tal cosa como: @foo dónde foo es una columna > > > > > El 25 de noviembre de 2009 15:42, Gaston Ramos <[email protected] > >escribió: > > > > > El Wed, 25 de Nov de 2009, a las 02:51:03PM -0200, Bizancio Spirit > dijo: > > > > (Además, ActiveRecord guarda los atributos en @attributes[:foo], por > > > > lo que @foo no funciona.) > > > > Eso responde a mi duda. > > > > > > > > En cuanto a lo otro, sigo pensando que un poco es confuso por eso. > Usando > > > > AR, es normal hacer un self.mi_campo sin pensar en que normalmente > > > > deberíamos declarar ese accesor. > > > > > > Pero los campos de columnas no tienen nada que ver con variables de > > > instancia > > > de una clase. > > > > > > _______________________________________________ > > > Ruby mailing list > > > [email protected] > > > > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > > > > > _______________________________________________ > > Ruby mailing list > > [email protected] > > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > > -- > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
