締め切りが理にかなっているように、ActiveRecordでカスタムバリデーターを書いています:
validate :deadline_is_possible?
def deadline_is_possible?
if deadline > begins_at
errors.add(:deadline, 'must be possible')
end
end
ただし、これにより、「NoMethodError: nil:NilClass の未定義メソッド `>'」が生成されます。次のように、日付を文字列に変換しようとしました。
def deadline_is_possible?
if deadline.to_s > begins_at.to_s
errors.add(:deadline, 'must be possible')
end
end
エラーは発生しませんが、機能しません。
他のバリデータも宣言しました(
def begins_at_is_date?
if !begins_at.is_a?(Date)
errors.add(:begins_at, 'must be a date')
end
end
それはOKです。