-1
私のモデルに複数のlogos
を保存しようとしています。Paperclipの複数アップロードを使用して、なぜ "<Array:..."のための未定義メソッド `create 'ですか?
: は、このチュートリアル次のとおりです。私は私が手cover
インスタンスを保存しようとしているときである私は解決できない問題
logos
間とcover
Handling file upload with ROR 5、私はモデルlogos
と正しく設定の関連付けを作成しました
エラーはであると思われます方法...ここ
が私のコードです:
カバー/ _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_data
にattr_accessor :logos
の値を変更した場合、私はこの
私はこの問題が 'attr_accessor:logos'という行にあると思いますので、' attr_accessor:logos_data'のように変更してみてください。 – Abdullah