我有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/