ActiveStorage钩后分析

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

我有连接到模型的照片。这些图片进行了分析和EXIF数据被保存为在ActiveStorage::Blob元。

class Foo < ApplicationRecord
  has_one_attached :picture
end

有这个模型,我使用的排序称为order_date实例的属性。此属性必须与EXIF及时更新团块得到分析之后。

使用回形针,一个before_commit回调方法就足够了。随着ActiveStorage,我也试过before_saveafter_touch但两者都没有工作。

我怎样才能运行代码右边的ActiveStorage::AnalyzeJob已成功运行后?

(我想避免猴子修补ActiveStorage::AnalyzeJob,因为它也为其他附件进行。)

非常感谢您的帮助!

ruby-on-rails rails-activerecord rails-activestorage
1个回答
0
投票

我找不到任何官员。我结束了重写,因为它是非常简单的,反正分析工作。它看起来像下面。

class ActiveStorage::AnalyzeJob < ActiveStorage::BaseJob
  def perform(blob)
    blob.analyze
    blob.attachments.includes(:record).each do |attachment|
      if attachment.record_type == 'Content'
        record = attachment.record
        record.set_file_info
        record.save!
      end
    end
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.