2017-08-03 4 views
-1

私のモデルに複数のlogosを保存しようとしています。Paperclipの複数アップロードを使用して、なぜ "<Array:..."のための未定義メソッド `create 'ですか?

: は、このチュートリアル次のとおりです。私は私が手 coverインスタンスを保存しようとしているときである

私は解決できない問題logos間とcoverHandling file upload with ROR 5、私はモデルlogosと正しく設定の関連付けを作成しました

enter image description here

エラーはであると思われます方法...ここ

が私のコードです:

カバー/ _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 

UPDATE

私はattr_accessor :logos_dataattr_accessor :logosの値を変更した場合、私はこの

enter image description here

+1

私はこの問題が 'attr_accessor:logos'という行にあると思いますので、' attr_accessor:logos_data'のように変更してみてください。 – Abdullah

答えて

0

を取得Coverモデルでattr_accessor :logosの名前を何かに変更しようとしてください

関連する問題