Rails - 尝试打开文件,但获取MiniMagick ::无效

时间:2013-04-15 11:27:40

标签: ruby-on-rails ruby image image-processing imagemagick

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

  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 ,如上所述[{3}},但它并没有真正帮助我。

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

btw lib不是保存图片的最佳位置。