Rumpleteaser
Rumpleteaser

Reputation: 4234

Rails saving datetime to MySQL database

I have a simple function within my model to set a completed datetime column in a database. this function worked until I tried to change the default rails format for datetime.

After reading up on the issues with mysql datetime format and rails I decided to take out the formating code I had in the environment.rb

It still does not save though. I want it to save the same way that created_at etc. save. I can then format the display of the date.

I have restarted the web server

Model:

def self.complete(id)
   update(id, :completed_at => Time.now)
end

Controller:

Class.complete(params[:id])

Upvotes: 1

Views: 3496

Answers (2)

Yannis
Yannis

Reputation: 5426

Since you want to update a specific instance of your class (a specific record), you may switch from a class method to an instance method.

In your model:

def complete
  update_attribute(:completed_at, Time.now)
end

and in your controller:

def your_method
  @object = YourModel.find(params[:id])
  @object.complete
end

Upvotes: 2

vise
vise

Reputation: 13383

You could try:

update(id, :completed_at => Time.now.to_s(:db))

Upvotes: 1

Related Questions