在生产环境中,我的代码可以正常工作,但是当我尝试上传时,我的代码在本地回滚
因此,我尝试强制更新接受带有更新的上传!这给了我这个错误信息:
ActiveRecord :: RecordInvalid在EmployeesController#photo_upload
验证失败:照片无法使用MiniMagick进行操作,也许它不是图像?原始错误:您必须安装ImageMagick或GraphicsMagick
因此,据此我发现它与MiniMagick有关,并在上传器文件中进行了一些测试,发现如果我注释了以下这一行:
process resize_to_fill: [100, 100]
问题消失了。关键是我需要将矩形图像的行作为正方形图像加载,因此无需使用所有图片和CSS。所以我正在寻找长期解决方案
class PhotoUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
process resize_to_fill: [100, 100]
if Rails.env.production?
storage :fog
else
storage :file
end
def store_dir
end
def extension_whitelist
%w[jpg jpeg gif png]
end
end
编辑:
基于几个评论,提到我在本地安装ImageMagick,因为我的部署是在Heroku中进行的,因此有所不同,但是事实证明Heroku已安装ImageMagick,因此这显然不是问题。对于想要证实的人,请输入:
heroku run identify -version
答案 0 :(得分:0)
我遇到这个问题已有48个小时了。我认为您只需要按照它说的去做,安装ImageMagick。我假设您使用的是Mac版brew install imagemagick
。我的问题是我正在尝试播种图像数据(作为来自app/assets/images/ folder locally
的URL,而这正是错误提示的时间。希望对您有所帮助。