Определите метод before_save
, который проверяет, является ли объект действительным,
если не сохраните файл на диск, дайте ему уникальное имя (создайте некоторый хэш)
Поместите это в форму, которую вы отправляете обратно в скрытое поле
Удалить поле загрузки в форме
Теперь в ветке else метода before_save
проверьте, был ли hidden_field
previous_upload или как вы его называете.
Если есть загрузить изображение и назначить его атрибуту paperclip, он может вычислить остаток
attr_accessor :previous_upload
def before_save
if valid?
if previous_upload
paperclip_file = #Load paperclip_file from /tmp
else
previous_upload = nil
end
else
previous_upload = "Some unique key for each upload like ip and time or such"
# Save paperclip_file with name previous_upload to /tmp
end
end