"acts_as_field" behaviour for model function

Hi

I want to create a model attribute that looks exactly like a db field but is infact the result of a model function.

Example I have a user with name and surname.

I want to be able to do @user.fullname which will then call a function that returns “name surname” as the full name, and I would like to be able to pass “name fullname” and have it broken into the seperate fields before saving to the db, in otherwords I would like it to function exacly asif there is a fullname field.

I know this can be done, I just dont know where to start looking for this.

Thanks in advance Ivor

Just define a method on the model like so:

def fullname     "#{self.name} #{self.surname}" end

def fullname=(value)     value = value.split     self.name = value[0]     self.surname = value[1..value.size] # in the case of long last names like van Hook end

--Jeremy

awesine jeremy.

thanks a lot. I am going to be doing a fair amount of those. so basically you write 2 functions, one looks like a setter because of the “=” sign at the end…

very nice.

cheers

ivor

awesome that is :slight_smile: