Domanda

Quando l'immagine viene salvata, l'altezza e la larghezza dell'immagine vengono salvati correttamente nel modello. Ho un requisito in cui ho bisogno di convalidare le dimensioni dell'immagine prima del salvataggio. Deve essere esattamente le stesse dimensioni. Ma quando provo ad accedere all'altezza o alla larghezza prima del salvataggio, mi dà zero.

C'è un modo in cui posso raggiungere questo obiettivo?

Per ora, do un avvertimento dopo il salvataggio, che l'immagine non è delle dimensioni desiderate. Ma non è abbastanza pulito.

È stato utile?

Soluzione 2

ero solito after_validation. before_validation Non ha funzionato per me. Quindi quello che ho fatto essenzialmente è stato controllare le dimensioni in un after_validation agganciare e averlo commesso errori usando @image.errors.add_to_base("The image needs to be of precisely 137x52 pixels."). E ho salvato l'immagine nel modo seguente.

@image.valid? # Run the validations, which calls my hook method after_validation
@image.save if @image.errors.empty?

Altri suggerimenti

Non sono sicuro di adwingment_fu, ma l'immagine reale probabilmente è salvata in a before_save o after_save. La tua convalida funziona prima che le immagini vengano salvate.

Usare un before_validation callback per forzare l'elaborazione dell'immagine.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top