0

私は、データベースのprice列に等しい金額の金額を検証する必要があるCustomizedBookingというモデルを持っています。 以下はコードスニペットです入力値をレールモデルのデータベース値と比較するにはどうすればよいですか?

validate :paid_amount_and_price 
def paid_amount_and_price_check 
    if paid_amount == price column value of the database 
    errors.add(:paid_amount, "Must be equal to the price to process further!") 
end 

してください!誰か、私のモデルではコードの下

答えて

0

試してお勧め:私たちはここに任意のカスタム検証を使用する必要はありません

validate :paid_amount_and_price 
def paid_amount_and_price_check 
    unless paid_amount.to_f == price.to_f 
     errors.add(:paid_amount, "Must be equal to the price to process further!") 
    end 
end 
1

を、これを試してみてください。

validates_numericality_of :paid_amount, 
          equal_to: ->(object) { object.price.to_f }, 
          message: "Must be equal to the price to process further!" 

または

validates :paid_amount, 
      :numericality => { equal_to: ->(object) { object.price.to_f }, 
          message: "Must be equal to the price to process further!" } 
関連する問題