我正在使用Ruby on rails 2.3.8,NetBeans IDE。
我已经安装了回形针,我可以成功显示/保存图像。现在,我安装了ImageMagick-6.6.2-4-Q16(适用于Windows 7,64bits)。
直到那一刻,我的模型看起来像这样(并且工作正常):
has_attached_file :photo
现在,在安装ImageMagick之后,当我添加:style行时,它会失败:
has_attached_file :photo,
:styles => {:thumb => "100x100#", :small => "150x150>", :large => "400x400>" }
并在尝试上传图片时抛出以下错误消息:
TypeError in ProfilesController#update
backtrace must be Array of String
我在该控制器的update
操作中唯一做的事情如下:
@profile.update_attributes(params[:profile])
@profile.update_attribute(:photo, params[:profile][:photo])
我还安装了miniMagick gem(因为我读过某个地方我必须这样做)。
我错过了什么?
答案 0 :(得分:3)
我会告诉你它对我们有用:
与“convert”命令存在名称冲突。 Paperclips尝试按原样运行“转换”,但此命令已作为文件系统转换器(FAT到NTFS或其他)包含在Windows安装中。
如果你试图从命令行运行“convert”,可能会运行上面提到的转换器而不是imagemagick的“转换” 它取决于PATH环境变量。
如果我们在PATH变量中设置imagemagick的路径FIRST,它将首先解析此路径,因此不会执行windows命令。
为了在我们的rails应用程序上修复它,我们添加了
...
if Sys::Uname.sysname == "Linux"
...
else
....
ENV['PATH'] = Paperclip.options[:command_path] + ";" + ENV['PATH']
end
...
on production.rb
答案 1 :(得分:0)
尝试下载回形针版本2.3.1.1,更高版本对我失败。