2
class Foo < ActiveRecord::Base {
starts_at datetime;
ends_at datetime;
}
ends_atがstarts_atの後にあるかどうかを確認する方法を教えてください。2つの異種フィールドに基づいて妥当性チェックを設定することは可能ですか
class Foo < ActiveRecord::Base {
starts_at datetime;
ends_at datetime;
}
ends_atがstarts_atの後にあるかどうかを確認する方法を教えてください。2つの異種フィールドに基づいて妥当性チェックを設定することは可能ですか
validate
マクロを使用し、カスタムメソッドを渡します。
class Foo < ActiveRecord::Base
validate :validate_timeline
protected
def validate_timeline
unless ends_at > starts_at
errors.add(:ends_at, "end date cannot precede start date")
end
end
end
これには事前定義された検証はありません。 }
class Foo < ActiveRecord::Base
validate :ends_after_starting
private
def ends_after_starting
if starts_at > ends_at
errors.add(:ends_at, "can't be before starts_at")
end
end
end
あなたは{必要はありません、また;:
あなたはしかし、ここでperform custom validations
、あなたはこのような何かを行うことができますすることができます。 Rubyはjavascriptではありません –
重複した質問http://stackoverflow.com/questions/4545102/rails-3-how-to-validate-that-a-b-where-a-and-b-are-both-model-attributes – mark