创建所有版本后的Carrierwave回调

时间:2014-07-17 01:48:55

标签: ruby-on-rails imagemagick carrierwave sidekiq

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

背景: 我允许用户旋转他们上传到我网站的图片。我使用webkit-transform显示旋转预览,并且仅在用户保存图像时使用imagemagick实际旋转图像。但是,为了防止在图像版本控制完成之前暂停应用程序,我在后台任务中执行此操作并继续通过应用webkit-transform应用轮换。在从数据库中提取正确的图像之前,我需要知道图像何时完全旋转(而不是在客户端旋转图像)。

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

1 个答案:

答案 0 :(得分:2)

我能够通过使用after_save回调来解决这个问题,也许这对你也有帮助

  

after_save:update_avatar_url

     

def update_avatar_url

  update_column(:avatar, avatar.thumb.url)   
     

update_column不会触发after_save回调,因此没有无限递归。