Я работаю над использованием библиотеки 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.