【问题标题】:Rails Carrierwave Multiple Images with mount_uploaders带有 mount_uploaders 的 Rails Carrierwave 多个图像
【发布时间】:2015-02-10 21:53:30
【问题描述】:

我正在使用 Carrierwave 的 master 分支并使用 mount_uploaders 方法。我可以使用 mount_uploader 方法并上传单个图像,但不能在使用多个时。

我收到此消息,但无法确定问题的确切范围。

保存后,在创建和更新时我都会收到:

NoMethodError

undefined method `map' for #<ActionDispatch::Http::UploadedFile:0x007fd281d6cdc8>

参数请求:

"award_images"=>#<ActionDispatch::Http::UploadedFile:0x007fd281d6cdc8 @tempfile=#<Tempfile:/var/folders/zx/47b5lzf16312zkh6949lm1_80000gq/T/RackMultipart20150210-22178-x4x4h9>,
 @original_filename="2009_01_addy_cfgc_videos.jpg",

使用 json 列 - Award_images:json

视图:_form

<h2>Featured Image</h2>
<p>
     <%= image_tag(@award.award_images_url, :class => "image img-responsive featured") if @award.award_images? %> 
    <%= f.file_field :award_images, multiple: true, name: "award[award_images]" %>
    <%= f.hidden_field :award_images_cache %>
    </p>

    <p>
<label>
  <%= f.check_box :remove_award_images %>
  Remove Images
</label>
    </p>

型号:

class Award < ActiveRecord::Base
mount_uploaders :award_images, AwardImageUploader
end

控制器:我的强参数

private

def award_params
params.require(:award).permit(:title, :award_images, :etc)
end

额外细节:

Rails 4.1.8

Ruby 2.1.2

Postgres

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 carrierwave


    【解决方案1】:

    params 的官方白名单略有不同。多次上传应列入白名单{variables: []}。请尝试以下操作:

    def award_params
       params.require(:award).permit(:title, {award_images: []}, :etc)
    end
    

    source

    【讨论】:

      【解决方案2】:

      在您的视图文件中尝试不同的名称:

      <%= f.file_field :award_images, multiple: true, name: "award[award_images][]" %>
      

      括号表示输入字段是一个数组(多张图片)。

      【讨论】:

      • Bleh,没用。我现在也尝试使用 Postgres 数组列。这也行不通。不过,我不再收到错误消息。所以我将尝试使用这个数组方法并发布更新。否则,看起来我将不得不做很长的路要走。谢谢!
      • @nil 你有没有最终弄明白?我目前处于相同的位置。不像你那样尝试做联想。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-20
      相关资源
      最近更新 更多