代码之家  ›  专栏  ›  技术社区  ›  Orsay

为什么使用回形针多次上传“为#<数组:…”创建未定义的方法?

  •  -1
  • Orsay  · 技术社区  · 7 年前

    logos 对于我的模型 cover 通过表单。 遵循本教程: Handling file upload with ROR 5 徽标 徽标 掩蔽

    我无法解决的问题是当我试图挽救 掩蔽

    enter image description here

    错误似乎在 save attachment 方法

               = 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"
    

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

    封面.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\u 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 ,我明白了

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  0
  •   Abdullah    7 年前

    在里面 Cover attr_accessor :logos 去别的地方