假设您使用 CarrierWave 和 Cloudinary 来管理 Rails 模型的上传。您需要定义一个上传器类并将其安装到您的 Image 类。假设您的 Image 模型类具有“图片”属性:
class PictureUploader < CarrierWave::Uploader::Base
include Cloudinary::CarrierWave
version :thumbnail do
process :resize_to_fit => [50, 50]
end
end
class Image
belongs_to :user
mount_uploader :picture, PictureUploader
end
每个用户都有多个图像记录,每个记录都包含对正在上传的实际图像的引用。对于嵌入这样的图像:
<%= image_tag(user.images[0].picture_url) %>
或缩略图:
<%= image_tag(user.images[0].picture_url(:thumbnail)) %>
有关更多详细信息,请参阅Cloudinary 文档。
关于图像删除:您的 Web 应用程序可能允许用户管理图像。简单地删除图像记录将自动删除上传到 Cloudinary 的远程图像。例如:
user.images.last.destroy