Используя Rails 2, я пытаюсь отделить разные динамические размеры изображений через другую модель от модели скрепки. Мой текущий подход с использованием Proc выглядит следующим образом:
class File < ActiveRecord::Base
has_many :sizes, :class_name => "FileSize"
has_attached_file(
:attachment,
:styles => Proc.new { |instance| instance.attachment_sizes }
)
def attachment_sizes
sizes = { :thumb => ["100x100"] }
self.sizes.each do |size|
sizes[:"#{size.id}"] = ["#{size.width}x#{size.height}"]
end
sizes
end
end
class FileSize < ActiveRecord::Base
belongs_to :file
after_create :reprocess
after_destroy :reprocess
private
def reprocess
self.file.attachment.reprocess!
end
end
Кажется, все работает нормально, но, видимо, никакие стили не обрабатываются и изображение не создается.
Кому-нибудь удавалось делать подобные вещи?
-- Обновить--
Очевидно, что метод attachment_sizes для экземпляра иногда не определен для #, но не должен ли экземпляр действительно быть #? Для меня это выглядит как изменение экземпляра.