SideclqワーカーをスローするPaperclipアップロード画像を保存しようとしています。 ユーザは画像を画像[]に選択し、コントローラに(params [:image]として)渡します。Sidekiqでペーパークリップイメージを保存
ビュー:
<%= file_field_tag "image[]", type: :file, multiple: true %>
私は別のVAR(ファイル)にそれを渡すと、それはコントローラで動作しますが、私はsidekiq_workerにそれを渡すとき、それは文字列のハッシュになり
コントローラ:
file = params[:image]
SidekiqWorker.perform_async("import_images", file)
SidekiqWorker
def perform(type, file)
case type
when "import_images"
file.each do |picture|
puts picture.class
puts picture.original_filename
end
Product.import_images(file)
puts "SIDEKIQ_WORKER: IMPORTING IMAGES"
end
end
イメージハッシュのハッシュを渡すにはどうすればよいですか?あるいは、私がしたいことをどのように達成することができますか?
その後、画像はモデルに処理されますが、ハッシュはすでに文字列に変換されていますが、機能しません。
def self.import_images(file)
file.each do |picture|
@product = Product.where(code: File.basename(picture.original_filename, ".*"))
if([email protected]?)
@product.update(:image=> picture)
end
end
end
はあなたの助けをありがとう:)
申し訳ありませんが、なぜsidekiqを使用していますか?あなただけのキャリアウェーブの複数の画像のアップロードでこれを行うことができます、これについての多くのガイドがあり、あなたはアマゾンs3のストレージにアップロードすることができます https://github.com/carrierwaveuploader/carrierwave#multiple-file-uploads https:// stackoverflow .co.jp/questions/19712816/carrierwave-rails-4-and-multiple-uploads –
私はHerokuを使用していますが、アップロードされた画像の数に依存しない場合もあります。私はこれを第2の計画プロセスに入れる必要があります キャリアウェーブでこれを行うことはできますか?ありがとうございます:) –
私はそれについて本当に知りません。ごめんなさい。 –