So I have two models here:
class Screen < ActiveRecord::Base belongs_to :user validates :screen_size, :numericality =>{:less_than_or_equal_to =>
change:
:if => "user.access==1"
with:
:if => lambda { |screen| screen.user.try(:access) ==1 }
Because:
you need to pass a function to evaluate condition on the fly
if your screen doesn't have any user, a mere screen.user.access would throw an exception
screen.user.access