Carrierwave русские имена файлов - PullRequest
0 голосов
/ 15 марта 2012

Мне нужно сохранить файлы с русским или транслитерированным именем файла.Я пытаюсь это:

1) В document_uploader:

def filename
  @name ||= "#{Russian::transliterate(original_filename)}.#{file.extension}" if original_filename.present?
end

2) В document.rb:

Я создаю метод обратного вызова before_create с той же логикой, но не вижу никакойРезультаты.

Имя файла после загрузки, например: «______________. Doc»

Что мне делать?

1 Ответ

6 голосов
/ 15 марта 2012

Если вы используете ruby ​​1.9, вы можете очистить имя файла, это похоже на то, что символы не являются юникодом:

CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
...