Rails / Paperclip – 跳过图像处理
如何基于虚拟属性跳过后处理?
我的虚拟属性在before_asset_post_process回调中始终为nil
创建
attachment = Attachment.create(asset: File.open(file.png), :skip_thumb => 1)
可连接的模型
class Attachment lambda { |attachment| { :thumb => ["100>", 'jpg'] , :thumb_big => ["200>", 'jpg'] } before_asset_post_process :proceed_or_cancel def proceed_or_cancel #self.skip_thumb is always nil if (self.skip_thumb.present?) return false end end end
你在Attachment
模型中使用attr_accessible
吗? 如果是这样,并且如果它不包含skip_thumb
,则当您尝试通过批量分配进行分配时,这会失败(静默)。
与attr_accessible
相反的是attr_protected
,如果你在其中有skip_thumb
,则删除它。
赋值:asset
将在赋值之前发生:skip_thumb
如果它是传递给Attachment.create()
的哈希中的第一个。 因此,如果您将代码更改为:
attachment = Attachment.create(skip_thumb: 1, asset: File.open(file.png))
我希望这不是太晚才有用……