Я перенесла свое приложение из рельсов 2.3 в rails3, и у меня проблема с скрепкой. Я видел, что была ветка для rails3 на caperclip git.Rails3 и Paperclip
Поэтому я добавил «gem» paperclip ',: git =>' git: //github.com/thoughtbot/paperclip.git ',: branch =>' rails3 '"в Gemfile и запустил установку набора команд ,
После установки 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
Моя проблема заключается в том, что я получил это сообщение об ошибке: неинициализированным константа Paperclip :: Cropper Усеченный процессор не загружен.
Есть ли у кого-нибудь идея исправить это?
Для информации мое приложение отлично работает на рельсах 2.3.4.
I окончательный Я решил проблему так же, как и вы, кроме того, что я установил paperclip в качестве плагина ... Немного менее уродливый: P – Arkan