2011-07-28 3 views
0

オブジェクトのある属性の日付を同じオブジェクトの別の属性に割り当てようとしています。 set_delivery、::私はオブジェクトにある属性から別の属性に日付を割り当てると、無効な日付エラーが発生する

before_saveを保存する前に

私はコールバックとしてこれを行う=>上:

を作成デフ(

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

エンド

両方がsqlite3のデータベースにDate型です。

これは、新しい情報をデータベースに書き込むので動作します。私は、コンソールで、またはそれが

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

Board.create(@attr) 

を失敗したテストでは、以下を試してみてください場合は、次のエラーが発生します。なぜか、どのようにこの問題を解決するには

ArgumentError: invalid date

誰もが知っていますか?

答えて

1

これは、変更しようとしている日付がbissextileであるためです。

つまり、2011-02-29の日付は存在しません。例外ArgumentError:無効な日付

+0

Arkanあなたはロックスターであり、私はしびれナット午前

は、このように次のexeptionを持っています。本当にありがとうございました。私はこのことを理解して何度も同じミスを繰り返して朝を無駄にしたとは信じられません。 – chell

関連する問題