update data to database

Dear All
i am a beginner of ruby ob rails , now there is one problem i dont know
how to resolve it,there two tables ,

one is reservation,colums are:
id(int),mbr_id(int),qty_reserved(decimal),valid_date(datetime)
the other is member,columns are:
id(int),email(char),encrypted_password
(char),points_accumulated(decimal),points_reserved(decimal)

member sign in to make a reservation with the points_accumulated he has,
then in the controller of reservations, i define a methos to create a
new reservation and save it to the database, everythins is ok, but how
can i update the member attributes points_accumulated and
points_reserved?

i uses current_user.update_attributes() unser the create action of
reservation,but it doesnt work, it is nil,
any one can help me?
thanks

let’s say you got this

def create

@current_user = CurrenUser.new(params[:id])

@current_user. points_accumulated = @current_user.points_accumulated + 1

@current_user.save

end

  • That’s a way and it maybe even shorter, but I dont know what are the rules you have

Javier

Just a note that you should be careful using this method to increment a value. It can cause a race condition.

A safer method is to use increment_counter since it updates the value directly in the database, not using the current attribute value on the instance

CurrentUser.increment_counter(:points_accumulated, params[:id])

There are better ways instead of mine I guess :slight_smile:

but I just wanted to show it because that may be the problem

Javier