Как я могу указать, какие файлы могут быть загружены на сервер в скрепке - PullRequest
1 голос
/ 29 марта 2011

Да, я знаю, что у paperclip есть validates_attachment_content_type, но мне бы очень хотелось, чтобы он validate_by_file_extension ... то есть ... У меня есть массив разрешенных расширений файлов в моем приложении, и я бы хотел, чтобы paperclip посмотрел,файл, который должен быть загружен, имеет расширение файла в этом массиве, и если нет, я хочу, чтобы он даже не начал загрузку и не выдавал ошибку.

Как мне это сделать.

1 Ответ

1 голос
/ 31 марта 2011

вы можете определить свои собственные методы проверки:

validate :validate_by_file_extension

def validate_by_file_extension
  errors.add_to_base("Invalid file extension") unless ALLOWED_EXTENSIONS.include?(File.extname(attachment_file_name))
end

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

...