2012-03-20 32 views
10

Ho un'applicazione di caricamento immagine in esecuzione su carrierwave che limita l'utente a caricare l'immagine solo delle estensioni desiderate 'jpg, jpeg, png' Ho messo in atto la convalida per carrierwave nel mio Uploader definire comeImpostazione messaggio di errore personalizzato con CarrierWave

def extension_white_list 
    %w(jpg jpeg png) 
end 

Ora chiunque cercando di caricare un'immagine avere un'estensione diversa da quella estensione desiderata (citato sopra) si tradurrà in errori di convalida

voglio personalizzare il messaggio Errore di convalida

Destra N ow Messaggio di errore si presenta come

You are not allowed to upload "" files, allowed types: ["jpg","jpeg","png"] 

Può chiunque aiuto Ho trovato questo link dove i ragazzi parlare di come raggiungere questo obiettivo

ma qualche problema

1. I18n support I dont require to translate the error message using I18n 

2. The 'Key' to be used I not sure which key to used in YAML for 
    not matching extension whitelist error message (e.g) carrierwave_processing_error key if error is for processing failure 

Si prega di fornire me rispondere in termini di CarrierWave e per favore non chiedermi di scrivere un set di convalida separato per l'abbinamento degli interni

risposta

2

definire una coppia di valori chiave in en.yml

en: 
    errors: 
    messages: 
     extension_white_list_error: 'My Custom Message' 

Se è cambiato con le versioni recenti. Quindi, cercare, come di seguito se la risposta di cui sopra non funziona:

en: 
    errors: 
    messages: 
     extension_whitelist_error: 'My Custom Message' 

e lasciare CarrierWave fare il resto

+0

hi @Viren provo la tua risposta, ma non lavoro per me :(creo una nuova domanda qui: http://stackoverflow.com/questions/19068821/custom-error-message-for -carrierwave-dont-work, qualsiasi idea per favore? io uso rails 4 – medBo

1

per qualche motivo il mio ActiveModel non ha incluso il modulo di validazione da ca rrierwave upon calling mount_uploader. Ho dovuto fare include CarrierWave::Validations::ActiveModel nel mio modello per ottenere il validatore di integrità.

Problemi correlati