Rails 8 enhances ActiveStorage::Blob#open to work without a block
Use ActiveStorage::Blob#open without a block to keep tempfiles alive across multi-stage workflows, background jobs, or external tools.Rails 8 adds conditional allow_nil and allow_blank in model validations
Use callable allow_nil/allow_blank to make validations depend on model state without duplicating rules.