On May 4, 8:34 pm, S Ahmed <sahmed1...@gmail.com> wrote: > I'm a little confused when I should be using 'self' in my model. > > I had code like: > > class User < ActiveRecord::Base > > before_save :do_something > > def do_something > > self.user_bio_text = .... > .. > self.user_bio_text > end > > end > > If I removed 'self', it didn't seem to set the model's attribute at all (it > would return nil). >
Ruby doesn't know whether foo = blah means set the local variable foo or call your foo= accessor method and default to creating the local variable, so if you did want to call the accessor method you need to disambiguate it, with self.foo = Fred > I can't recall exaclty where this happenend in my code, but I remember that > I was trying to get the a model's attribute and it didn't work when I used > 'self.some_attribute'. > > So I'm confused, when do I use 'self' and when't don't I? -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.