У меня есть довольно простая модель загрузки Paperclip, которая присоединена к модели пользователя через has_many, и я использую Uploadify для фактической загрузки. Flash отправляет все файлы с типом содержимого «application / octet-stream», поэтому использование validates_attachment_content_type отклоняет все файлы.
В моем действии создания я могу получить mime-тип из исходного имени файла, но только после того, как он был сохранен, с помощью:
def coerce(params)
h = Hash.new
h[:upload] = Hash.new
h[:upload][:attachment].content_type = MIME::Types.type_for(h[:upload][:attachment].original_filename).to_s
...
end
и
def create
diff_params = coerce(params)
@upload = Upload.new(diff_params[:upload])
...
end
Как лучше всего составить список файлов белого списка?
Я думаю о методе before_validation, но я не уверен, как это будет работать. Любые идеи будут приветствоваться.