Ruby on rails 4 CarrierWave后台进程拒绝访问s3图像
我当前的Sidekiq设置如下所示,正在处理图像,但没有在后台执行任何操作。加载页面需要10秒钟,然后新图像将显示在重定向页面上,路径如下。 我希望这个过程是在后台进行的Ruby on rails 4 CarrierWave后台进程拒绝访问s3图像,ruby-on-rails-4,carrierwave,sidekiq,Ruby On Rails 4,Carrierwave,Sidekiq,我当前的Sidekiq设置如下所示,正在处理图像,但没有在后台执行任何操作。加载页面需要10秒钟,然后新图像将显示在重定向页面上,路径如下。 我希望这个过程是在后台进行的 def create @photo = Photo.new(photo_params) if @photo.save UploadsWorker.perform_async(@photo.id, photo_params) flash[:notice] = "Your new photograph is being
def create
@photo = Photo.new(photo_params)
if @photo.save
UploadsWorker.perform_async(@photo.id, photo_params)
flash[:notice] = "Your new photograph is being processed."
redirect_to photographer_listings_path(@photog)
else
flash[:notice] = "Check the fields marked with an orange flag."
render 'new'
end
结束
结束
相反,我尝试使用CarrierWave Backgrounder gem,但发现版本处理没有发生。代码运行,但在保存新记录后,页面重定向上没有图像
当查看Sidekiq web界面时,我可以看到作业正在运行,然后完成
但是,我在同一个目录中留下了一个拒绝访问的映像
奇怪的是,当不使用gem是有效的时,会看到顶部显示的url
为了将图像正确地上传到s3,我不得不使用store_in_background而不是process_in_background
class UploadsWorker
include Sidekiq::Worker
def perform(photo_id, photo_params)
photo = Photo.find(photo_id)
photo.image = photo_params["image"]
photo.save
end