Windows 7上的Paperclip + ImageMagick:当我向模型中的attached_file添加样式时,图像显示失败

时间:2010-06-09 18:48:19

标签: ruby-on-rails imagemagick paperclip

我正在使用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(因为我读过某个地方我必须这样做)。

我错过了什么?

2 个答案:

答案 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,更高版本对我失败。