我试图在实际删除对象之前删除一些东西。 (我正在使用回形针) 所以我认为before_destroy是我的解决方案。 我不想使用依赖性破坏。 (某些原因) 我有这样的模型:
class Picture < ActiveRecord::Base
belongs_to :user
has_attached_file :image, :styles => {:d800x2400 =>"800x2400>",:d220x150=>"220x150#",:d118x118 => "118x118#",:d60x60=>"60x60#"}
before_destroy :remove_extras
after_save : add_extras
private
def add_extras
logger.info " adding extras "
puts image.url(:d60x60)
end
def remove_extras
logger.info " Removing extras "
puts image.url(:d60x60)
end
现在我得到的输出是(在添加&amp;然后删除时):
adding extras
/system/images/186/d60x60/something.png
deleting extras
/system/images/d60x60/missing.png
有人可以告诉我为什么我无法获得正确的网址吗?
答案 0 :(得分:3)
你可能已经有了答案,但如果你没有:
问题是你需要在“has_attached_file”部分之前来“before_destroy”...否则,首先调用Paperclip自己的“before_destroy”并在调用方法之前杀死图像...
我自己就是遇到了这个问题,并且修改了声明的顺序。