Скрепка не отправляет файлы в корзину S3? - PullRequest
0 голосов
/ 10 января 2019

Я работаю над использованием библиотеки Paperclip Ruby для загрузки файлов в корзину S3. Обычно это не проблема, но я использую вложенные модели, и пока мои таблицы получают данные, в корзину S3 ничего не отправляется. Идеальный рабочий процесс выглядит так:

  • В таблице "dprojects" есть много "данных"
  • В таблице «dattachments» есть столбцы для вложений Paperclip, которые называются «afile»
  • Когда вложение добавляется в таблицу «dattachment», оно также отправляется в корзину S3, которую я настроил

Раньше у меня была библиотека Paperclip для не вложенных моделей, поэтому я знаю, что данные / корзина сервера S3 работают должным образом, используя это руководство: "https://devcenter.heroku.com/articles/paperclip-s3". Однако я просто не могу показаться заставить его работать с вложенными моделями.

dprojects_controller.rb:

def dproject_params
  params.require(:dproject).permit(
  ....
  dattachments_attributes: [:id, :dproject_id, :created_at, 
  :updated_at, :afile, :dcomment])
end

dproject.rb (модель):

has_many :dattachments
accepts_nested_attributes_for :dattachments

dattachment.rb (модель):

belongs_to :dproject
has_attached_file :afile,
:url => ':s3_domain_url',
:path => '/images/projects/:id/:updated_at/:filename'
do_not_validate_attachment_file_type :afile

Я хочу, чтобы вложение "afile" было отправлено на S3 и сохранено в таблице "dattachment". В данный момент они хранятся в таблице «вложений», но не отправляются на S3.

...