Próbuje dostać Paperclip do odświeżania lub ponownego przetwarzania nie działa

Z biegiem czasu zmieniłem rozmiar kciuków umowy klasowej. Dzięki tym zmianom użytkownicy przesyłali na stronę, więc jest niewielu ludzi, którzy mają różnej wielkości kciuki. Chciałem je przerobić lub odświeżyć, więc poszedłem do mojego korzenia i wpisałem: {]}

rake paperclip:refresh class=Deal

Nic nie zrobił dla rozmiarów kciuka.. Następnie w script/console:

Umowa stoi.znajdź(987)przetworzyć!

Zwrócił to:

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

Moja klasa to:

=> 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)

Co mogę czy aby ponownie przetworzyć oryginał, aby kciuk miał prawidłowy rozmiar w aktualnym rozmiarze kciuka?

UPDATE: znalazłem załącznik.RB W zestawie z spinaczem. Co ciekawe, metody takie jak .save i .updated_at działają. Ale reprocess! i kilka innych metod nie. Czy coś pachnie nie na miejscu?

Author: JakeGould, 2010-06-08

2 answers

Mam!

To dlatego, że paperclip nie jest związany z obiektem modelu, ale raczej z obrazem obiektu modelu. Tak napisane poprawnie, to działałoby tak:

Model.find(#).image.reprocess!
 65
Author: Trip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-14 17:48:20

Możesz również użyć dołączonego zadania Rake:

$ rake paperclip:refresh CLASS=Deal

Zobacz Paperclip Wiki

 9
Author: Undistraction,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-02 13:08:24