我已經將我的應用程序從rails 2.3遷移到rails3,並且我有回形針問題。 我看到了paperclip git上的rails3分支。因此,我在Gemfile中添加了「gem'paperclip',::git =>'git://github.com/thoughtbot/paperclip.git',:branch =>'rails3'」並啓動命令包install 。Rails3和Paperclip
一旦回形針安裝,上傳工作正常,但不是樣式。我看到了一個修復它的黑客。
# 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 << " -resize \"#{target.width}x#{target.height}\""
trans
end
def skip_crop?
["800x600>", "300x300>"].include?(@target_geometry.to_s)
end
end
end
我的問題是,我得到這個錯誤信息:未初始化不斷回形針::裁剪器 裁剪後的處理器未加載。
有人有想法解決這個問題嗎?
有關信息,我的應用程序在rails 2.3.4上正常工作。
我最後ly解決了問題,就像你做的一樣,除了我把回形針作爲插件安裝... 有點不那麼醜陋:P – Arkan 2010-05-17 17:18:20