Попробуйте это так:
def Person < ActiveRecord::Base
def method_missing(method_id, *args, &block)
begin
super
rescue
reload
super
end
end
end
И затем изначально загрузите записи, например, такие:
person = Person.select(:id).find(20)
И когда вы сделаете
person.name
тогда он должен нажать method_missing и перезагрузить запись (со всеми атрибутами) в случае сбоя.