2010-06-08 16 views
27

Zaman aşımına uğradım, Deal sınıfının baş parmakları için boyutu değiştirdim. Bu değişiklikler sayesinde, kullanıcılar siteye yüklüyordu, bu nedenle farklı boyutlarda başparmakları olan birkaç kişi var. Ben reprocress veya bunların yenilemek istedik, bu yüzden benim köküne içine gitti ve daktilo:Çalışmayı yenilemek veya yeniden işlemek için Paperclip almaya çalışıyor

rake paperclip:refresh class=Deal 

mü başparmak boyutları için hiçbir şey .. Sonra komut/konsolda:

Deal.find (987) .reprocess!

NoMethodError: undefined method `reprocess!' for #<Deal:0xb68a0988> 
from /data/HQ_Channel/releases/20100607130346/vendor/rails/activerecord/lib/active_record/attribute_methods.rb:260:in `method_missing' 
from (irb):7 

Benim anlaşma sınıfı şudur:

bu İade

=> Deal(id: integer, organization_id: integer, deal: string, value: string, what: string, description: string, image_file_name: string, image_content_type: string, image_file_size: integer, image_updated_at: datetime, created_at: datetime, updated_at: datetime, deal_image_file_name: string, deal_image_content_type: string, deal_image_file_size: integer, deal_image_uploaded_at: datetime) 

ben şimdiki başparmak içinde başparmak doğru boyutu yapmak orijinal işleyemeyiz sahip olmak için neler yapabiliriz boyut paramları?

GÜNCELLEME: Ben Paperclip ile birlikte attachment.rb bulduk. İlginç olan, .save ve .updated_at gibi yöntemlerin çalışmasıdır. Ancak reprocess! ve diğer birkaç yöntem yok. Açıkça bir şey yersiz kokuyor mu?

cevap

64

Anladım!

Bunun nedeni, ataçların Modelin nesnesine değil, Model nesnesinin görüntüsüne göreli olmasıdır.

Model.find(#).image.reprocess! 
+17

Model.find_each {Bakınız | thing.image.reprocess! } – Schneems

9

Ayrıca dahil Rake görevi kullanabilirsiniz:: Yani uygun yazılı, böyle çalışacak | şey

$ rake paperclip:refresh CLASS=Deal 

Paperclip Wiki

İlgili konular