2012-03-20 3 views
10

У меня есть приложение для загрузки изображений, работающее на несущей, которое ограничивает пользователя загрузкой изображения только из желаемых расширений 'jpg, jpeg, png' Я положил на место проверку для несущей в моем загрузчике, определяя какНастройка пользовательского сообщения об ошибке с CarrierWave

def extension_white_list 
    %w(jpg jpeg png) 
end 

Теперь каждый пытается загрузить изображение, имеющие расширение, отличное от требуемого внутреннего абонента (упоминают выше) приведет к ошибкам проверки

Я хочу, чтобы настроить сообщение ошибки проверки

Right N вл Сообщение об ошибке представлена ​​как

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

Может кто-нибудь помочь Я нашел это link, где ребята говоря уже о том, чтобы достичь этого

, но это какая-то проблема

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 

Просьба предоставить мне ответ в срок CarrierWave и, пожалуйста, не просите меня написать отдельный набор валидации для соответствия расширений

ответ

2

определить пару значений ключа в en.yml

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

Если изменилось с последними версиями. Так что попробуйте, как показано ниже, если выше ответ не работает:

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

и пусть CarrierWave делают остальные

+0

привет @Viren я попробовать свой ответ, но не работает для меня :(я создать новый вопрос здесь: http://stackoverflow.com/questions/19068821/custom-error-message-for -карьера-не-работа, любая идея, пожалуйста, я использую рельсы 4 – medBo

1

по какой-то причине мой ActiveModel не включил модуль проверки с ca rrierwave при вызове mount_uploader. Я должен был сделать include CarrierWave::Validations::ActiveModel в моей модели, чтобы получить валидатор целостности.

6

Если кто-то заканчивается здесь в 2016 году и задается вопросом, почему правильные ответы, найденные на этой странице или в другом месте в Интернете, не работают, возможно, из-за этого. По крайней мере, это было в моем случае:

Переименовать extension_white_list ~>extension_whitelist

легкая вещь, чтобы пропустить, когда просто копировать решения.

https://github.com/carrierwaveuploader/carrierwave/commit/06003a5044190f93d07d958b6ca9fd6f6f8fbdb2

+0

@mizumix Great. – Viren

Смежные вопросы