1

我正在尝试在控制器中加载文件,例如

  Avatar.all.each do |avatar|
     if avatar.avatar_file_name
       file = "lib/data/#{avatar.avatar_file_name}"

       image = MiniMagick::Image.open("#{file}")
       ...
     end
   end 

但是每当我运行此代码时,我都会收到错误消息

MiniMagick::无效

我已经尝试重新安装此处提到的imagemagick,但它并没有真正帮助我。

哪里可能有问题?我错过了一个组件还是什么?谢谢

4

1 回答 1

2

也许你应该先检查文件是否存在

if File.exist?(file)
  image = MiniMagick::Image.open(file)
end

要获取文件的路径,您应该执行以下操作:

file = "#{Rails.root}/lib/data/#{avatar.avatar_file_name}"

顺便说一句lib,不是保存图像的最佳位置。

于 2013-04-15T11:52:28.923 回答