0

画像をアップロードするために、Carrierwave と一緒にjQuery File Uploadを使用しています。

このマニュアルに従ってなんとか機能させることができ、単一の画像をアップロードするのに完全に機能しますが、一度に複数の画像をアップロードして複数の画像を選択できるように HTML5 の multiple 属性を追加すると、リクエストごとに次のエラーが発生します。

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

すべてのリクエストはまったく同じように見えますが、複数の画像をアップロードできないのに単一の画像をアップロードできる理由がわかりません。複数の属性を有効にすると、単一の画像をアップロードすることさえできないことに注意してください。外すと、アップロードが再び機能します。jQuery File Uploadは複数の画像を完全にアップロードでき、デモで確認できます。

どこを掘るかについてのヒントは大歓迎です。

前もって感謝します。

4

1 に答える 1

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にはmultiple: trueを使用します

于 2012-05-31T07:46:39.100 に答える