setting model attributes

Hi,

I'd like to clear up a hole in my understanding.

Why does the following not work in a model:

def update_a_model_attribute(new_value)   @model_attribute = new_value   save end

But the following does: def update_a_model_attribute(new_value)   self.model_attribute = new_value   save end

When I say it does not work, I mean that the attribute does not get updated in the database.

Many thanks, John

John Lane wrote:

def update_a_model_attribute(new_value)   @model_attribute = new_value   save end

This is setting an instance variable.

But the following does: def update_a_model_attribute(new_value)   self.model_attribute = new_value   save end

This is setting a model attribute.

In the console, run:

SomeModel.find(:first).instance_variables

You'll see that the attributes are not implemented as instance variables...