Ruby on Rails - Carrierwave, невозможно загрузить несколько изображений

Я использую jQuery File Upload вместе с Carrierwave для загрузки изображений.

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

NoMethodError in Advertiser::MediaController#create
undefined method `[]' for nil:NilClass

Каждый запрос кажется мне абсолютно одинаковым, и я не могу понять, почему он не может загружать несколько изображений, но может загружать отдельные изображения, обратите внимание, что если у меня включено несколько атрибутов, я не могу даже загрузить одно изображение, но как только я его снимаю, загрузка снова работает. загрузка файла jQuery отлично подходит для загрузки нескольких изображений, и вы можете проверить это в их демо.

Любые подсказки о том, где копать, будут очень признательны.

Заранее спасибо.


person Vitali    schedule 15.04.2012    source источник


Ответы (1)


  def create_from_uploader
    p_attr = params[:photo]
    p_attr[:photo] = p_attr[:photo][0] if p_attr[:photo].is_a?(Array)
    @photo = @user.photos.build(p_attr)
    if @photo.save
      flash[:notice] = "Succes"
    end
  end

И в вашем haml просмотрите параметры html для такой формы - html: {multipart: true}, а для file_field используйте несколько: true

person xeLL    schedule 31.05.2012
comment
Это не кажется проблемой. Мне удалось локализовать проблему в пользовательском письменном методе проверки, который проверяет размеры. Этот метод выполняется один раз pastebin.com/730wMrFM Проблема в том, что когда я устанавливаю несколько =› true, переменная файла пусто Почему это? - person Vitali; 21.06.2012