我通过将已发布表单中的参数传递给模型来动态更新基础模型,如下所示:
@model.assign_attributes(params[:model])
我有一个日期与mm/dd/yyyy
格式的其他帖子数据一起出现。据我所知,Ruby似乎正在解析这个日期,好像它的格式是dd/mm/yyyy
。因此,当我输入4/15/2014
的日期时,模型无法保存,因为月15
不存在(我假设,实际上我只是被告知需要日期字段)
如何配置Ruby以将我的日期解析为mm/dd/yyyy
?
答案 0 :(得分:1)
使用strptime
方法获取日期并提供格式。
Date.strptime("4/15/2014","%m/%d/%Y")
#=> #<Date: 2014-04-15 ((2456763j,0s,0n),+0s,2299161j)>
如果您希望在模型中进行转换,则可能必须指定类似before_update
的回调。
e.g。
class YourModel < ActiveRecord::Base
before_update :format_date
def format_date
date_field = Date.strptime(date_field,'%m/%d/%Y')
end
end