ruby-on-rails - 使用不带表格的Carrierwave保存文件

标签 ruby-on-rails wave carrierwave

我有2个模型-Album和AlbumImage。

每个专辑都有与之相关的专辑图像,并使用Carrierwave通过AlbumImageUploader类上传它们。

现在,我想使用现有的关联专辑图像为每个专辑选择专辑封面。在将其用作相册封面之前,我需要处理(裁剪和调整尺寸)此选定的图像。我关闭了裁切和大小调整功能,并创建了一个AlbumCoverUploader类来将经过处理的专辑图像版本保存到该类中。

问题在于,这一次我没有使用表单上载新的图像文件,而是在文件系统中使用了现有的相册图像,并且我不确定如何将该图像从我的AlbumImageUploader类传输到我的AlbumCoverUploader类。

有任何想法吗?

最佳答案

这真的很简单。
您必须使用与从表单上载相同的方法来配置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的输入以创建其自己的图像副本。

关于ruby-on-rails - 使用不带表格的Carrierwave保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5138985/

相关文章:

ruby - 使用 Rmagick 和 Carrierwave 调整 gif 文件大小而不失真

ruby-on-rails - CarrierWave 文件夹结构最佳实践

mysql - Rails 4 - 如何通过 has_many 关联与同一列上的多个条件查询集合?

ruby-on-rails - Json Jbuilder v/s 渲染 :json method

ruby-on-rails - Paypal 订阅 IPN - 用户多次订阅的问题

javascript - Spine.js 中的 Controller 间通信

python - 如何保存同时播放两个轨道的wav文件?不同体积的

ffmpeg 将 flac 转换为 wav

python - 确定 wav 文件的位深度

ruby-on-rails - Carrierwave:参数错误 Nil 提供的位置。无法使用载波 Ruby on Rails 为 image_tag 构建 URI