私はユーザーの誕生日を取得するフォームを持っています。Railsの日付を変更する年
私は誕生日をとり、それを別の属性に保存したいが、今年を取る。
私はコールでこれを行うバック
モデルボード
before_save:set_delivery_date
def set_delivery_date
self.delivery_date = self.birthday
self.delivery_date.change(:year => Time.now.year)
end
の誕生日は1920年7月27日
これは変更していないようです日付。
誰でもこの方法を知っていますか?
更新は
私は、データベースに新しい日付を見ることができ、次の作品:私はRSpecのテストをしようか、私は、コンソールでそれをしようとすると
self.deliver_on = self.birthday.change(:year => Time.now.year)
は、しかし、それは次のように生成エラー:
ArgumentError: invalid date
なぜこの問題が発生しているのですか?
私は両方のソリューションを試してみましたが、今私は無効な日付を取得しています。私は年を変えているので、非常に奇妙です。何か案は? – chell
self.birthday.change(:year => Time.now.yearはinvalid_date例外を生成します – chell
実際にテストを開始する前に、テストを投稿したり、おそらく 'birthday'を検証できますか? –