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.

Reply via email to