在创建所有版本后回调载波

问题描述 投票:2回答:1

在我的Rails应用中,我想在创建和存储上传图片的所有版本后更新数据库。 是否有一个回调可以确保recreate_versions!完成?

Background:我允许用户旋转他们上传到我网站的图片。我使用 webkit-transform 显示旋转的预览,只有当用户保存图片时才使用 imagemagick 实际旋转图片。 然而,为了防止在图像版本完成之前耽误应用程序的运行,我在后台任务中进行此操作,并通过应用 webkit-transform 继续应用旋转。 在我从数据库中提取正确的图像之前,我需要知道图像何时已经完全旋转(而不是在客户端旋转图像)。

P.S. 我看了这个页面。https:/github.comcarrierwaveuploadercarrierwavewikiHow-to:-use-callbacks。但我也看到这些回调是在所有版本之后调用的,而不是在所有版本完成之后。

ruby-on-rails imagemagick carrierwave sidekiq
1个回答
2
投票

我通过使用after_save回调解决了这个问题,也许这也能帮助你。

  after_save :update_avatar_url

  def update_avatar_url
     update_column(:avatar, avatar.thumb.url)   
  end

update_column不触发after_save回调,因此不存在无限递归。

© www.soinside.com 2019 - 2024. All rights reserved.