witam, mam model z STI i dla obu typów przypisane są Paperclipem obrazki, z tym że jeden z typów ma o 2 więcej style niż ten drugi. Gdy zmienia się typ rekordu (a jest taka możliwość) to Paperclip kasuje tylko style przypisane do własnie ustawionego typu, nie kasuje natomiast dla poprzedniego. Dałem w kontrolerze przy zmianie typu foo.image.destroy ale nie jest to zbyt poprawne rozwiązanie i wolałbym mieć to w modelu. Próbowałem przykładowo before_save image.styles[:medium].attachment.destroy unless image.styles[:medium].nil? ale z podanego wyżej powodu, :medium przy zmianie typu nie ma w stylach mimo że obrazek dalej jest na dysku.
problem jest taki, że (tak mi się wydaje) tutaj wchodzi Ci ta zmiana typu. w momencie wywołania before_save, callback działa już na nowym modelu. pomysł: przy before_save otwórz dla siebie singletone’ową klasę, dopisz brakujący styl, zamknij ją i usuń ten obrazek.