Я работаю над приложением Rails. Две мои модели — это заметки и вложения. Пользователь может создавать заметки и добавлять к ним вложения. Это стандартные вещи, и у меня это уже работает нормально.
В настоящее время пользователь должен создать заметку, прежде чем он сможет добавлять к ней вложения. Я хочу реализовать более оптимизированный рабочий процесс для пользователя, аналогичный знакомому рабочему процессу электронной почты, где вы можете добавлять вложения в несохраненное электронное письмо. Однако суть в том, что я не хочу, чтобы пользователю даже приходилось сохранять черновик заметки, прежде чем можно будет добавить вложение, и я хочу, чтобы эта несохраненная заметка была удалена, если пользователь уходит (я не хочу, чтобы иметь дополнительную сложность несохраненных/неопубликованных заметок).
Я знаю, что если заметка изначально еще не сохранена, я могу создать вложения без ссылки на заметку, а затем установить ссылку при сохранении заметки. Часть, на которой я рисую пробел, заключается в том, как удалить неиспользуемые вложения, если пользователь прерывает процесс создания заметки? Есть ли крючок, который мне не хватает, который позволяет мне видеть, что пользователь прервался?
Без такого хука первое решение, которое приходит на ум, — это сценарий ночной очистки, который запускается через cron и находит все неприкрепленные вложения и удаляет их (возможно, фильтруя вложения, созданные более 24 часов назад). Это лучшее решение?