2017-04-16 5 views
0

Ich versuche, eine Bilddimension aus einer temporären Datei abzurufen.Ausführen einer Funktion nur einmal in Modell

after_post_process :save_ratio_image 

    def save_ratio_image 
    geo = Paperclip::Geometry.from_file(image.queued_for_write[:original]) 
    self.ratiolongdivlarg = geo.width/geo.height 
    end 

Obwohl ich dieses Modell im Laufe der Zeit von der Anlage, da oben repeatdly brauchen speichere ich einige andere Felder haben und noch eine Büroklammer Befestigung zu:, die durch die folgende erfolgreich ist.

Der obige Code dann einen Fehler aus, Kann die Geometrie einer Datei mit einem leeren Namen Ich denke, das liegt daran, dass die temporäre Datei nicht mehr existiert, die anderen Male, die ich dieses Modell speichern ..

Gibt es nicht finden eine Möglichkeit, diese Funktion nur einmal aufzurufen (dh das erste Mal, dass ein Datensatz von diesem Modell gespeichert wird)?

+1

Es gibt eine 'after_create' Rückruf, der die Methode nur aufrufen würde, wenn der Datensatz zum ersten Mal gespeichert wird. – sixty4bit

+0

danke, Spot auf. – Maxence

+0

Als Antwort hinzugefügt – sixty4bit

Antwort

Verwandte Themen