【问题标题】:Saving files using Carrierwave without forms使用 Carrierwave 保存文件而不使用表单
【发布时间】:2011-02-28 06:46:11
【问题描述】:

我有 2 个模型 - Album 和 AlbumImage。

每张专辑都有与之关联的专辑图片,并使用 Carrierwave 通过 AlbumImageUploader 类上传。

现在我想使用现有的关联专辑图像为每个专辑选择专辑封面。在将其用作专辑封面之前,我需要处理(裁剪和调整大小)这个选定的图像。我有裁剪和调整大小的功能,我创建了一个 AlbumCoverUploader 类来保存专辑图像的这个处理版本。

问题是这次我没有使用表单来上传新的图像文件,而是使用文件系统中现有的相册图像,我不知道如何将这个图像从我的 AlbumImageUploader 类传输到我的AlbumCoverUploader 类。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails wave carrierwave


    【解决方案1】:

    这真的很简单。 您必须像从表单上传一样配置 AlbumCoverUploader。

    不过,要使用与现有记录关联的图像,您必须执行以下操作:

    album = Album.find(id)                  # your existing album
    album_image = album.album_images.first  # the image you want as cover
    album.cover = File.open(album_image.image.current_path)
    album.save
    

    这将抓取图像文件并用作 AlbumCoverUploader 的输入以创建自己的图像副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 2021-07-06
      • 1970-01-01
      相关资源
      最近更新 更多