Первое, что нужно сделать, это проверить, какой файл вы пытаетесь отправить.
Добавьте эту строку кода перед вашим send_file
оператором:
logger.info "SENDING FILE: #{attachment.data.path.inspect}"
Затем просмотрите журнал, проверьте путь и посмотрите, действительно ли там находится файл.
Я подозреваю, что ваши режимы производства и разработки имеют разные данные базы данных (и это естественно и ожидаемо) , но файлы, сохраненные в файловой системе, не синхронизируются с базами данных.
Возможно, между средами есть и другие различия, но путь - это первое, что я считаю виновным.