I've got a Trip model, which among other attributes has a start_odometer and end_odometer value. In my model, i'd like to validate that the end odometer is larger than the starting odometer. The end odometer can also be blank because the trip may not have finished yet.

However, I can't figure out how to compare one attribute to another.

In trip.rb:

comparing against the symbol:

validates_numericality_of :end_odometer, :greater_than => :start_odometer, :allow_blank => true

gives me the error:

ArgumentError in TripsController#index

:greater_than must be a number

comparing against the variable:

validates_numericality_of :end_odometer, :greater_than => start_odometer, :allow_blank => true

NameError in TripsController#index

undefined local variable or method `start_odometer' for #

Edit
Report