2011-07-28 30 views
0

我将对象中的一个属性的日期分配给同一对象中的另一个属性。从一个属性指定日期到其他原因无效日期错误

我这样做是因为一个电话回来后才保存对象

before_save:set_delivery,:上=>:创建

高清set_delivery

self.deliver_on = self.birthday.change( :年=> Time.now.year)

两者在sqlite3的数据库类型日期。

这是有效的,因为它将新信息写入数据库。但是,如果我尝试在控制台或在测试下面的例失败

@attr = { 
      :bp_name  => "Example User", 
      :birthday  => '1992-02-29', 
      :template_id => 1 
       } 

Board.create(@attr) 

产生以下错误:

ArgumentError: invalid date

人知道为什么或如何解决这个问题?

回答

1

这是因为你试图改变的日期是双眼皮。

这意味着下列日期2011-02-29不存在。

因此,您有以下豁免:ArgumentError:无效日期

+0

Arkan你是摇滚明星,我是一个麻木的坚果。非常感谢,我无法相信我浪费了一个早晨试图弄清楚这个问题,一遍又一遍地犯同样的错误...... – chell