Jquery Rails强参数日期时间选择器数据库的正确格式

Jquery Rails强参数日期时间选择器数据库的正确格式,jquery,ruby-on-rails,date,datetime,strong-parameters,Jquery,Ruby On Rails,Date,Datetime,Strong Parameters,作为一个初学者,这个问题困扰了我很多年。我有一个jquery日期时间选择器,它用格式为MM/DD/YYYYaka06/27/2015的日期填充表单字段。数据库似乎不会保存日期,除非它采用YYYY/MM/DD格式。但是,不管我的数据库感觉如何,我喜欢这种格式,因为用户知道如何读取它 所以当我的控制器收到一个错误格式的日期时。我可以使用strftime在保存日期之前编辑它。但我在某种程度上是懒惰的,因为我仍然希望使用强参数来创建我的条目 def create Statistic.create(s

作为一个初学者,这个问题困扰了我很多年。我有一个jquery日期时间选择器,它用格式为
MM/DD/YYYY
aka
06/27/2015
的日期填充表单字段。数据库似乎不会保存日期,除非它采用
YYYY/MM/DD
格式。但是,不管我的数据库感觉如何,我喜欢这种格式,因为用户知道如何读取它

所以当我的控制器收到一个错误格式的日期时。我可以使用strftime在保存日期之前编辑它。但我在某种程度上是懒惰的,因为我仍然希望使用强参数来创建我的条目

def create
  Statistic.create(statistic_params)
end
def statistic_params
  params.require(:statistic).permit(:entry_date)
end

调整日期格式的最佳方法是什么,以便数据库识别它并让我的用户满意?

在统计模型中,您可以使用允许您在保存到数据库之前更改属性的方法更改
entry\u date
属性,这样您就不必担心强参数

class Statistic < ActiveRecord::Base

  before_validation :set_entry_date

  def set_enty_date
    self.entry_date = DateTime.strptime(self.entry_date, "%m/%d/%Y").strftime("%Y/%m/%d")
  end

end
类统计
在统计模型中,您可以使用在保存到数据库之前更改属性的方法更改
输入日期
属性,这样您就不必担心强参数

class Statistic < ActiveRecord::Base

  before_validation :set_entry_date

  def set_enty_date
    self.entry_date = DateTime.strptime(self.entry_date, "%m/%d/%Y").strftime("%Y/%m/%d")
  end

end
类统计
当我以
MM/DD/YYYY
格式传递时,似乎无法访问模型中的
entry\u date
。另外,我想我需要使用
strtime
。我仍然使用强参数,因为我还有15个其他属性要保存。还有其他想法吗?您正在验证输入日期吗?因为如果验证失败,将不会调用before\u save。我正在编辑答案。另外,我想你对格式化时间的看法是正确的。今晚让我来讨论一下,让你知道。感谢您在这方面的帮助。当我以
MM/DD/YYYY
格式传递时,我似乎无法访问模型中的
entry\u date
。另外,我想我需要使用
strtime
。我仍然使用强参数,因为我还有15个其他属性要保存。还有其他想法吗?您正在验证输入日期吗?因为如果验证失败,将不会调用before\u save。我正在编辑答案。另外,我想你对格式化时间的看法是正确的。今晚让我来讨论一下,让你知道。谢谢你在这方面的帮助。