Согласно текущим документам Paperclip, лямбда для процессоров называется иначе, чем для стилей. Стили передаются во вложении:
class User < ActiveRecord::Base
has_attached_file :avatar, :styles => lambda { |attachment| { :thumb =>
(attachment.instance.boss? ? "300x300>" : "100x100>") } }
end
С attachment.instance
является экземпляром вашей модели. Но процессорам передается сам экземпляр:
class User < ActiveRecord::Base
has_attached_file :avatar, :processors => lambda { |instance| instance.processors }
attr_accessor :watermark
end
Этот последний пример работал на меня. У меня было User#processors
вернуть массив процессоров (но если вы просто хотите процессор по умолчанию, верните [:thumbnail]
, а не пустой массив).