|
|
Windows上必须进行的步骤:
如果你是一个跟我一样长期使用windows开发的rails开发者,那么你必定不会对让Paperclip运行起来所需要的一些特定步骤感到惊讶。
1.安装插件
你可以把Paperclip作为一个来自GitHub的普通Rails插件那样安装——在命令行输入如下命令:
ruby script/plugin install git://github.com/thoughtbot/paperclip.git
你需要一个GIT工具,thoughtbot这周关闭了他们的SVN仓库,而在Rubyforge的Pagergem的gem已经太老了,很可能不能使用,目前也不能通过Git获得它的gem包。
2.下载ImageMagick
Paperclip使用ImageMagick来进行图片处理。值得感谢的是,在windows上安装ImageMagick比安装attatchment_fu所需要的ImageScience容易多了
你有两个方法:
尽管Paperclip不使用Rmagick的gem包,但如果要使用它,你可以从RubyForge下载它的最新版本,还有与其对应的ImageMagick(在下载包里看readme.html文件了解安装说明)
If you’re not bothered about RMagick support then download and install the ImageMagick installer (I used the 16 bits per pixel dynamic library without any problems).
不管你采用那种安装方式,确保你在安装时选择“Updateexecutable search path”选项
3.Tempfile类的补丁
提示:在更深入的研究后,我不再100%地相信为了Paperclip给Tempfile打补丁有必要了。我建议你先试着在补丁的情况下使用它,当你遇到问题后再试着打上补丁(如果你能回帖告诉我你需要补丁,那真是太好了)
Paperclip通过Tempfile类广泛地利用了临时文件。不幸的是这在windows下导致一些奇怪的现象:文件大小不正确被视为0字节(attachment_fu也面临同样的问题)。解决方案就是这样给Tempfile打补丁:
require 'tempfile'class Tempfile def size if @tmpfile @tmpfile.fsync @tmpfile.flush @tmpfile.stat.size else 0 end endend
这段代码来自 Emmanuel Pirsch的博客,在我的几个项目里,它已证明很有效。我通常把它放在我的lib/patches文件夹,并在initializer里require它。
4.停止,关闭,重开,重启
确保你关掉所有运行的服务器,关闭任何一个控制台窗口,然后重新打开并重启你需要的。让你的控制台跟服务器更新被安装程序改变后的Path环境变量是很重要的,这个改变发生在Paperclip通过命令行调用ImageMagick的时候(这就是我诶什么Paperclip不需要Rmagick的原因)
|
|