更新文件变量(活动存储)

Update a file variable (Active Storage)

我正在使用 ActiveStorage(太棒了!)来管理我的应用程序中的文件。管理员必须验证所有提交。因此,为了解决这个问题,我在 ActiveStorageBlob table 中添加了一个经过验证的新列。我可以定义文件是否由管理员验证。

但我的问题是我无法更新此值。但是我可以问这个变量的值。

def upd_val
  @photo = current_user.photo
  if @photo.validated?
    @photo.update(validated: true)
  else
    @photo.update(validated: false)
  end
end

你可以这样做:

def upd_val
  @photo = current_user.photo
  @photo_id = @photo.id
  if @photo.validated?
    ActiveStorage::Blob.find(@photo_id).update(validated: true)
  else
    ActiveStorage::Blob.find(@photo_id).update(validated: false)
  end
end