我将对象中的一个属性的日期分配给同一对象中的另一个属性。
我在保存对象之前将其作为回调
before_save:set_delivery,:on => :创建
def set_delivery
self.deliver_on = self.birthday.change(:year => Time.now.year)
端
两者都是sqlite3数据库中的Date类型。
这样可以将新信息写入数据库。但是,如果我在控制台或测试中尝试以下操作,则会失败
@attr = {
:bp_name => "Example User",
:birthday => '1992-02-29',
:template_id => 1
}
Board.create(@attr)
产生以下错误:
ArgumentError: invalid date
任何人都知道为什么或如何解决这个问题?
答案 0 :(得分:1)
这是因为您尝试更改的日期是bissextile。
这意味着以下日期2011-02-29不存在。
因此,您有以下例外:ArgumentError:无效日期