为什么 "undefined method `create' for #<Array:..." 使用 Paperclip 多次上传?

Why "undefined method `create' for #<Array:..." using Paperclip multiple upload?

我正在尝试通过表格为我的模型 cover 保存多个 logos。 按照本教程:Handling file upload with ROR 5,我创建了一个模型 logos 并正确设置了 logoscover

之间的关联

我无法解决的问题是当我试图保存我得到的 cover 实例时:

错误似乎在 save attachment 方法中...

这是我的代码:

cover/_form

           = simple_form_for [current_user, @book, @cover], html: { multipart: true } do |f|

               = f.label :logos, 'Votre logo', class: "field-label center"

               = f.file_field :logos, multiple: true, class: 'text input-border hidden-always'
            = f.submit "enregistrer", class: "button w-button", data_wait: "Patientez svp"

logo.rb

class Logo < ApplicationRecord
  has_attached_file :file
  belongs_to :cover
  do_not_validate_attachment_file_type :file

end

cover.rb

class Cover < ApplicationRecord
  has_many :logos, dependent: :destroy
  attr_accessor :logos

  def save_attachments(params)
    params[:logos].each do |doc|
      self.logos.create(:file => doc)
    end
  end
end

covers_controller.rb

 class CoversController < ApplicationController
   def create
    if @cover.save
      @cover.save_attachments(cover_params) if params[:cover][:logos]
      ...
    end
   end

    private 

    def cover_params
       params.require(:cover).permit(:name, logos: [])

    end
 end
end

更新

如果我将 attr_accessor :logos 的值更改为 attr_accessor :logos_data,我会得到这个

Cover 模型中尝试将 attr_accessor :logos 的名称更改为其他名称