我很高兴使用attachment_fu来处理文件上传和缩略图创建。但是,对于某些(但不是全部!)情况,我想抑制缩略图的创建。
我如何破解attachment_fu来做到这一点?
细节:我有一个传统的attachment_fu模型
class Pic < ActiveRecord::Base
has_attachment :content_type => :image, :storage => :s3, :resize_to => '200x600>',
:thumbnails => { :thumb48 => [48,48],
:thumb32 => [32,32],
:thumb22 => [22,22] }
validates_as_attachment
end
用户使用文件输入指定要在表单中上载的文件,并将表单提交到使用
创建pic的操作@pic = Pic.new(params[:pic])
在某些情况下,我希望能够做类似
的事情@pic = Pic.new(params[:pic], {:generate_thumbnails => false})
并防止生成缩略图。
答案 0 :(得分:3)
有趣的问题。
您是否考虑过不显示某些照片的缩略图?或存储是一个问题?
另一种选择是创建两个模型 - 一个叫做Pic,它没有定义任何缩略图,另一个叫做PicWithThumbs,它扩展了Pic类,并且确定了缩略图。
然后在你的控制器中,你可以做一个'if'语句,检查params是否有一个名为'create_thumbs'的值(boolean) - if:create_thumbs为true,然后创建一个PicWithThumb实例,否则创建一个Pic
我知道,它闻起来有点味道,而且我有点像菜鸟,所以请随意把我击倒。我很想知道最好的解决方案是什么......
答案 1 :(得分:0)
我不确定附件fu,但是在paperclip中你可以通过在before_post_process
中返回false来停止缩略图生成,在附件中你也许可以在{{1}中做类似的事情回调?