Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 使用Rails4和CarrierWave无法刷新Cloudinary图像_Ruby On Rails 4_Carrierwave_Cloudinary - Fatal编程技术网

Ruby on rails 4 使用Rails4和CarrierWave无法刷新Cloudinary图像

Ruby on rails 4 使用Rails4和CarrierWave无法刷新Cloudinary图像,ruby-on-rails-4,carrierwave,cloudinary,Ruby On Rails 4,Carrierwave,Cloudinary,我正在使用Cloudinary和CarrierWave从我的Rails应用程序上传图像,而且效果很好 我的要求是,用户可以有一个图像,因此,如果用户已经有一个图像,并且如果他/她上载了一个新图像,则新图像应该覆盖上一个图像 我的问题是,当我将新图像上传到Cloudinary时,它不会使以前的图像失效,因此旧图像仍然显示为用户图像 然后我找到了一个名为invalidate的选项,并尝试使用它,但没有成功 这是我的Cloudinary课程 class PictureUploader < Car

我正在使用Cloudinary和CarrierWave从我的Rails应用程序上传图像,而且效果很好

我的要求是,用户可以有一个图像,因此,如果用户已经有一个图像,并且如果他/她上载了一个新图像,则新图像应该覆盖上一个图像

我的问题是,当我将新图像上传到Cloudinary时,它不会使以前的图像失效,因此旧图像仍然显示为用户图像

然后我找到了一个名为
invalidate
的选项,并尝试使用它,但没有成功

这是我的
Cloudinary
课程

class PictureUploader < CarrierWave::Uploader::Base
  include Cloudinary::CarrierWave

  version :show do
    process :invalidate => true 
  end
end
class PictureUploadertrue
结束
结束
这是我的观点

recipe.picture\u url(:show)


但这显示的是旧图像,而不是新图像。我遗漏了什么?

当首次访问Cloudinary映像时,它会缓存在CDN中。 您确实可以通过在保留公共ID的情况下重新上传来更新映像,但是如果您访问相同的URL,您可能仍然会收到映像的CDN缓存版本

您可以通过CDN告诉Cloudinary使图像无效,但是请注意,启用
无效
参数应包括在上载过程中,而不是在“版本”块中,因为无效是在重新上载时应用的,而不是在交付时应用的。还要注意,失效可能需要一个小时才能通过CDN完全传播

建议改用。将“versions”组件添加到URL会告诉Cloudinary在绕过CDN缓存版本的同时强制交付最新版本的映像。每次上传调用都会返回更新的版本值。有关更多信息:


虽然无效传播需要一段时间,“版本”组件会立即生效。

首次访问Cloudinary映像时,它会缓存在CDN中。 您确实可以通过在保留公共ID的情况下重新上传来更新映像,但是如果您访问相同的URL,您可能仍然会收到映像的CDN缓存版本

您可以通过CDN告诉Cloudinary使图像无效,但是请注意,启用
无效
参数应包括在上载过程中,而不是在“版本”块中,因为无效是在重新上载时应用的,而不是在交付时应用的。还要注意,失效可能需要一个小时才能通过CDN完全传播

建议改用。将“versions”组件添加到URL会告诉Cloudinary在绕过CDN缓存版本的同时强制交付最新版本的映像。每次上传调用都会返回更新的版本值。有关更多信息:


虽然无效传播需要一段时间,“版本”组件会立即生效。

保存我的一天。只需使用图像的直接Url即可解决问题。节省我的时间。只需使用图像的直接Url即可解决此问题。