在after_save方法中,我有:
def sync
status = Timeout::timeout(1) {
sleep(2)
}
rescue StandardError => e
puts "inside rescue"
errors[:base] << e.message.to_s
ApsLogger.fatal(e)
raise ActiveRecord::Rollback
# raise ActiveRecord::RecordInvalid.new(self)
end
我看到inside rescue
被打印出来,但是记录仍在数据库中被修改。
我尝试过raise ActiveRecord::RecordInvalid.new(self)
,但仍然无法正常工作。
我希望看到数据库中的记录没有被修改,并且UI中会显示一条错误消息。