第一次保存时回形针跳过样式

时间:2014-07-29 16:02:07

标签: ruby-on-rails paperclip

这是我的代码:

:styles => lambda { |attachment| attachment.instance.define_styles }

def define_styles 
    return_styles = Hash.new

    case self.imageable_type

    when "Admin::ProductDetail"
      return_styles[:thumb] = "70x60>"
      return_styles[:front] = "450x400>"
    else

    end

    return_styles
end

问题在于,当我第一次上传图片时,它不会使用样式...只有在我重新上传图片后,所以它只创建默认样式,而不是:thumb 或第一次上传时:前

2 个答案:

答案 0 :(得分:1)

您可以使用回调before_post_process

:styles => lambda { |attachment| attachment.instance.define_styles }

before_post_process :skip_on_create

def skip_on_create
  !new_record?
end

当此回调返回false时,后处理步骤将暂停

文档here

答案 1 :(得分:1)

我添加了此代码,现在可以使用了。

after_create :reprocess

def reprocess
  self.image.reprocess!
end

但我不知道这是否是正确的做法。