我随着时间的推移,改变了笔类大小的尺寸。通过这些更改,用户上传到网站,因此很少有人拥有不同大小的拇指。我想重新压缩或刷新这些,所以我进入我的根并键入:
rake paperclip:refresh class=Deal
没有为拇指大小做任何事情..然后我在脚本/控制台:
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
我的交易类是:
=> 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)
如果要重新处理原件以使拇指在当前拇指大小参数中的大小正确,我该怎么办?
更新:我发现Paperclip附带了 attachment.rb 。有趣的是像.save
和.updated_at
这样的方法有效。但是reprocess!
和其他一些方法却没有。有什么味道明显不合适吗?
答案 0 :(得分:66)
知道了!
这是因为paperclip与Model的对象无关,而是Model的对象图像。所以写得恰到好处,它会像这样工作:
Model.find(#).image.reprocess!
答案 1 :(得分:10)