Ruby on rails 试图使回形针刷新或重新处理不起作用

Ruby on rails 试图使回形针刷新或重新处理不起作用,ruby-on-rails,rake,paperclip,Ruby On Rails,Rake,Paperclip,随着时间的推移,我改变了班级交易中拇指的大小。通过这些改变,用户上传到网站上,所以很少有人有不同大小的拇指。我想重新录制或刷新这些内容,因此我进入我的根目录并键入: rake paperclip:refresh class=Deal 没有对拇指尺寸做任何调整。。然后我在脚本/控制台中: 处理。查找(987)。重新处理 返回此: NoMethodError: undefined method `reprocess!' for #<Deal:0xb68a0988> from /data

随着时间的推移,我改变了班级交易中拇指的大小。通过这些改变,用户上传到网站上,所以很少有人有不同大小的拇指。我想重新录制或刷新这些内容,因此我进入我的根目录并键入:

rake paperclip:refresh class=Deal
没有对拇指尺寸做任何调整。。然后我在脚本/控制台中:

处理。查找(987)。重新处理

返回此:

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
如何使其重新处理原始图像,使拇指在当前拇指大小参数中的大小正确

更新:我找到了回形针附带的附件.rb。有趣的是,像
.save
.updated\u这样的方法可以工作。但是
重新处理
和其他一些方法不支持。有什么东西闻起来明显不对劲吗?

明白了

这是因为回形针不是相对于模型的对象,而是相对于模型对象的图像。写得恰到好处,它的工作原理如下:

Model.find(#).image.reprocess!

您还可以使用附带的Rake任务:

$ rake paperclip:refresh CLASS=Deal

请参见

Model.find|u each{| thing | thing.image.reprocess!}
$ rake paperclip:refresh CLASS=Deal