Ruby 如何设置日期解释/格式?

Ruby 如何设置日期解释/格式?,ruby,ruby-on-rails-3,rails-activerecord,ruby-2.1,Ruby,Ruby On Rails 3,Rails Activerecord,Ruby 2.1,我通过将参数从发布表单传递到模型,动态更新基础模型,如下所示: @model.assign_attributes(params[:model]) 我有一个日期和其他帖子数据,格式为mm/dd/yyyy。据我所知,Ruby似乎在解析这个日期,就好像它的格式是dd/mm/yyyy。因此,例如,当我输入日期2014年4月15日时,模型无法保存,因为月份15不存在(我假设,实际上我只是被告知日期字段是必需的) 如何配置Ruby将我的日期解析为mm/dd/yyyy?使用strtime方法获取日期并提供格

我通过将参数从发布表单传递到模型,动态更新基础模型,如下所示:

@model.assign_attributes(params[:model])
我有一个日期和其他帖子数据,格式为
mm/dd/yyyy
。据我所知,Ruby似乎在解析这个日期,就好像它的格式是
dd/mm/yyyy
。因此,例如,当我输入日期
2014年4月15日
时,模型无法保存,因为月份
15
不存在(我假设,实际上我只是被告知日期字段是必需的)


如何配置Ruby将我的日期解析为
mm/dd/yyyy

使用
strtime
方法获取日期并提供格式

Date.strptime("4/15/2014","%m/%d/%Y")
#=> #<Date: 2014-04-15 ((2456763j,0s,0n),+0s,2299161j)>

控制器不知道底层模型。它是执行保存操作的泛型基类。所以我想全局设置这种格式。我找不到一种方法来实现这一点(不是说没有),但控制器不需要知道模型。模型只需要知道输入格式,以便在保存之前可以更改它。最终“修复”了
:当使用
strpdate
发布参数时。谢谢
class YourModel < ActiveRecord::Base


  before_update :format_date


  def format_date
    date_field = Date.strptime(date_field,'%m/%d/%Y')
  end
end