2

私は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.new(params[:pic])

場合によっては、次のようなことができるようにしたいと思います

@pic = Pic.new(params[:pic], {:generate_thumbnails => false})

サムネイルが生成されないようにします。

4

2 に答える 2

3

興味深い質問です。

特定の写真のサムネイルを表示しないことを考えたことはありますか?またはストレージが問題ですか?

もう1つのオプションは、2つのモデルを作成することです。1つはサムネイルを定義しないPicと呼ばれ、もう1つはPicクラスを拡張してサムネイルを定義するPicWithThumbsと呼ばれます。

次に、コントローラーで「if」ステートメントを実行して、「create_thumbs」(ブール値)という値のパラメーターをチェックします。:create_thumbsがtrueの場合は、PicWithThumbのインスタンスを作成し、それ以外の場合はPicを作成します。

私は知っています、それは少しにおいがします、そして私は少し初心者なので、遠慮なく私を撃墜してください。私は最善の解決策が何であるかを見たいと思っています...

于 2010-01-07T10:26:38.070 に答える
0

添付 fu についてはわかりませんが、paperclipではfalse を返すことでサムネイルの生成を停止できますbefore_post_process。添付 fu では、おそらくコールバックで同様のことができprocess_attachmentますか?

于 2010-01-07T11:25:08.263 に答える