の追加、条件付きカスタム検証がレール5:私はモデルに条件付きのカスタム検証を追加したい
Railsはまた、条件を作成することができます
class Invoice < ApplicationRecord
validate :expiration_date_cannot_be_in_the_past
def expiration_date_cannot_be_in_the_past
if expiration_date.present? && expiration_date < Date.today
errors.add(:expiration_date, "can't be in the past")
end
end
をカスタム検証を作成するためのメソッドを作成することができます検証
class Order < ApplicationRecord
validates :card_number, presence: true, if: :paid_with_card?
def paid_with_card?
payment_type == "card"
end
end
は、どのように私は両方を混在させることができますか?
私の推測では、
validate :condition, if: :other_condition
ようなものになるだろう。しかし、これはにSyntaxErrorを作成します。
syntax error, unexpected end-of-input, expecting keyword_end