Как загрузить несколько файлов непосредственно в S3 в рельсы без использования модели? - PullRequest
0 голосов
/ 18 февраля 2019

Я создал пользовательскую библиотеку s3_store.rb

class S3Store
  BUCKET = "app-uploads".freeze

  def initialize file
    @file = file
    @s3 = AWS::S3.new
    @bucket = @s3.buckets[BUCKET]
  end

  def store
    @obj = @bucket.objects[filename].write(@file.tempfile, acl: :public_read)
    self
  end

  def url
    @obj.public_url.to_s
  end

  private

  def filename
    @filename
  end
end

Я не могу открыть файл, @ file.tempfile выдает ошибку:

данные должны бытьпредоставляется в виде String, Pathname, File или объекта, который отвечает на #read и #eof?в магазине метод

и это HTML-файл:

<%= file_field 'file_upload', '', :multiple => true, :name=>"file_upload[]", 
    class: "btn btn-large btn-default btn-file", :id=>"file_upload", :disabled => 
    @disabled_field %>

Пожалуйста, помогите мне

...