I have a model User that has property called status. Status is just a
string that can only be evaluated and not persisted. I.e. it doesn't
have a field in the user table.
Anyways, I would like a method get_status to be called anytime I
create a new instance of User. For example:
user=User.new
Since I created a new instance of User, I should now have access to
the status property, e.g.:
user.status
=>"Ready"
Here is my User class:
class User < ActiveRecord::Base
has_and_belongs_to_many :roles
def evaluate_status
#evaluate the status
#@status = ...
end
end
How would I call get_status whenever a new instance of User is
created? It's constructor?
sorry I didn't see you solution till after I tried accessor method.
Regarding the foreign_key and class_name things, rails was warning me
that if I could, I should specify them to avoid confusion. Since it
was not big deal I just put them in. It's the least I could do for
ActiveRecord!