Rails将datetime保存到MySQL数据库

Rails将datetime保存到MySQL数据库,mysql,ruby-on-rails,datetime,format,Mysql,Ruby On Rails,Datetime,Format,我的模型中有一个简单的函数,可以在数据库中设置一个完整的datetime列。在我尝试更改datetime的默认rails格式之前,此函数一直有效 在阅读了mysql datetime格式和rails的问题之后,我决定去掉environment.rb中的格式化代码 但它仍然无法保存。我希望它以创建_at etc.save的相同方式保存。然后我可以设置日期显示的格式 我已重新启动web服务器 型号: def self.complete(id) update(id, :completed_at

我的模型中有一个简单的函数,可以在数据库中设置一个完整的datetime列。在我尝试更改datetime的默认rails格式之前,此函数一直有效

在阅读了mysql datetime格式和rails的问题之后,我决定去掉environment.rb中的格式化代码

但它仍然无法保存。我希望它以创建_at etc.save的相同方式保存。然后我可以设置日期显示的格式

我已重新启动web服务器

型号:

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

Class.complete(params[:id])
def your_method
  @object = YourModel.find(params[:id])
  @object.complete
end
你可以试试:

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

由于要更新类的特定实例(特定记录),因此可以从类方法切换到实例方法

在您的模型中:

def complete
  update_attribute(:completed_at, Time.now)
end
在控制器中:

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

我之前确实试过,但不幸的是没有什么不同。