Rails3和Paperclip

我已将我的应用程序从rails 2.3迁移到rails3,我的回形针有问题。 我看到在paperclip git上有一个rails3的分支。

所以我在Gemfile中添加了“gem’paperclip’,:git =>’git://github.com/thoughtbot/paperclip.git’,: branch =>’rails3’”并启动命令bundle install。

一旦安装了回形针,上传工作正常但不是样式。 我看到了修复它的黑客攻击。

# in lib/paperclip/attachment.rb at line 293 def callback which #:nodoc: # replace this line... # instance.run_callbacks(which, @queued_for_write){|result,obj| result == false } # with this: instance.run_callbacks(which, @queued_for_write) end 

之后风格还可以,但我无法激活处理器。 我的代码是:

 has_attached_file :image, :default_url => "/images/nopicture.jpg", :styles => { :large => "800x600>", :cropped => Proc.new { |instance| "#{instance.width}x#{instance.height}>" }, :crop => "300x300>" }, :processors => [:cropper] 

我的处理器位于RAILS_APP / lib / paperclip_processors / cropper.rb中,包含:

 module Paperclip class Cropper < Thumbnail def transformation_command if crop_command and !skip_crop? crop_command + super.sub(/ -crop \S+/, '') else super end end def crop_command target = @attachment.instance trans = ""; trans << " -crop #{target.crop_w}x#{target.crop_h}+#{target.crop_x}+#{target.crop_y}" if target.cropping? trans <", "300x300>"].include?(@target_geometry.to_s) end end end 

我的问题是,我收到此错误消息:未初始化的常量Paperclip :: Cropper未加载裁剪的处理器。

有人有想法解决这个问题吗?

有关信息,我的应用程序在rails 2.3.4上正常工作。

我也有同样的问题。 好像回形针处理器没有加载到rails 3.直到有人修复它,我破解了在/ config / initializers中移动cropper.rb文件的问题

重启服务器,为我工作:)

我也得到了“未初始化的常量Paperclip :: Cropper”exception。 但是您可以将cropper.rb移动到paperclip lib目录并添加require’paperclip / cropper.rb’。 它适用于我,但我使用捆绑器,所以它看起来很难看……

在您的Photo.rb类中,或者您曾经需要’… / cropper.rb’的那个类中,您还必须将项目的根目录放在路径中:

 require "#{config.root}/lib/paperclip_processors/cropper.rb" # required to make cropping work. 

之前它只是需要“lib / …”

是的,安装Paperclip作为插件,它会工作

我建议你使用carrierwave而不是paperclip,快速而简单的https://github.com/jnicklas/carrierwave

我也有同样的问题。 我正在使用此存储库中的paperclip gem:

 gem "paperclip", :git => "git://github.com/JasonKing/paperclip.git", :branch => "rails3" 

而且我也得到了“未初始化的常量Paperclip :: Cropper”。 重新启动服务器不起作用!