У меня проблема, которая влияет только на это приложение в производственной среде.У нас есть одно действие контроллера, которое используется для «клонирования» объектов статьи, создавая новый объект, устанавливая атрибуты равными друг другу, а затем добавляя изображения к объекту.
Вот часть контроллерачто делает это:
def clone_article
ba = BlogArticle.find(params[:id])
new_ba = BlogArticle.new(ba.attributes)
ba.blog_article_images.each do |blog_img|
new_ba.blog_article_images.build(:image => blog_img.image.to_file, :embedded => blog_img.embedded?)
end
new_ba.status = 'draft'
new_ba.title = "Copy of #{ba.title}"
if new_ba.save
flash[:notice] = "Clone successful"
else
if new_ba.errors.empty?
flash[:notice] = "Unknown error occurred while cloning the post"
else
error = 'Problem while cloning the post: <br>'
new_ba.errors.each {|field, msg| error += field + " " + msg + "<br>"}
flash[:error] = error
end
end
redirect_to admin_blog_articles_url
end
Проблема в том, что этот скрипт отлично работает при обращении к локальным файлам на сервере.Но в производственной среде, в которой есть изображения на S3, мы не можем получить ни одно из изображений для копирования из исходных изображений сообщений.Я думаю, что это может быть проблемой с синхронизацией, например, контроллер не ждет, пока скрепка завершит загрузку файлов в каталог приложения, прежде чем завершить процесс, но я не могу заставить что-либо работать.Кроме того, я не эксперт по рельсам, поэтому я немного растерялся.
Спасибо