我试图在我的模型之一与引导datepicker有一个日期字段。我想在用户选择日期后格式化为MM/DD/YYYY。问题是这个日期格式对我的数据库(YYYY/MM/DD)不正确,我需要在保存之前格式化它。如何在将日期保存到Rails 4中的数据库之前转换日期?
在我的模型我创建了一个setter方法
def start_date=(val)
Date.strptime(val, '%Y-%m-%d')
end
当我在我的形式,如2014年9月23日输入日期,我得到一个错误说无效的日期。
我在做什么错?
我PARAMS
{"utf8"=>"✓",
"authenticity_token"=>"***",
"event"=>{"start_date"=>"09/24/2014",
"user_id"=>"1"},
"commit"=>"Submit"
}
编辑
因此改变我的方法有点
def start_date=(val)
Date.strptime(val, "%m/%d/%Y") if val.present?
end
后,我不再收到 “无效的日期” 错误。但是,现在没有将日期保存到记录中。我试过
def start_date=(val)
@start_date = Date.strptime(val, "%m/%d/%Y") if val.present?
end
如@animatedgif所示,但仍然没有任何反应。
感谢您的回复,但我认为我在下面的答案中找到了更好的方式用于我的用例。 – oobie11 2014-09-23 19:49:03