2010-12-20 21 views
1

私には、開始日と終了日を保持するrentsというテーブルがあります。私は、新しい賃貸料が既存の賃料の開始日と終了日に重ならないように妥当性検査を作成しました。フィールドが変更されていない場合に更新アクションでそれ自身を除外する検証

私はそれを更新するために賃貸料をクリックし、私はフィールドを変更して更新をクリックしない場合です。それは、それ自身を検証し、既存のレコードが重複していると言うことを試みます。 (既存のレコードはそれ自体が参照するものです)

私がしようとしていることは、どうすれば私自身の検証を除外できますか?これが私の検証方法です。

def should_not_overlap_rental_periods 
    errors.add(:start_date, "can't overlap other rental periods") if self.rents.where("end_date <= ? and start_date >= ?", self.end_date.strftime("%Y-%m-%d"), self.start_date.strftime("%Y-%m-%d")).count > 0 unless self.rents.blank? 
end 
+1

私はコードブロックに表示されるようにコードを再フォーマットしました。メソッドの内容が1行に表示されないように再フォーマットすることができます。 – Phrogz

答えて

関連する問題