2012-01-31 6 views
1

アップロードした画像のサムネイルをオンザフライで生成する方法を探しています。Rails - その場でサムネイルを生成するにはどうすればいいですか?

class Product 
     include Mongoid::Document 
     include Mongoid::Paperclip 

     has_mongoid_attached_file :picture 
    end 

私は基本的にはちょうど私が、その後のサムネイルに使用できる一つの高解像度画像を、アップロードしたい、メイン画像ともに高解像度の画像:私はこの種の本のように見える製品モデルを持っていますファンシーボックスなど。

これを行う簡単な方法はありますか?

+0

ImageMagickに宝石があるのか​​どうかは分かりませんが、そのようなもの(またはそのようなもの)は行く方法です。 –

+1

私はトンボがこれのためにかなり好きだとわかります –

+0

私が知る限り、トンボはモンゴイとは関係ありません、そうですか? –

答えて

1

paperclip attached_fileには多くの属性を設定できます。

例えば、

has_mongoid_attached_file :picture, 
    :styles => { 
     :original => ['1920x1680>', :jpg], 
     :small => ['100x100#', :jpg], 
     :medium => ['250x250', :jpg], 
     :large => ['500x500>', :jpg] 
    } 

あなたが設定できます。スタイルは、あなたが欲しいサイズとフォーマットで画像の多くのバージョンを持つ属性。

詳細はhereを確認してください。あなたはRMagick/Imagemagickのようなイメージプロセッサーが必要です。

+0

ありがとうございますが、この解決策の問題は、アップロード時にメイジが生成されることです。開発プロセス中に画像の寸法が変化したり、異なる寸法で別のビューが追加されたりすると、この種の問題は避けられます。 –

+0

開発時のサムネイルサイズの変更は問題ありません。 "rake paperclip:refresh:thumbnails CLASS = <あなたのクラスはここ>"を使っていつでもすべてのサムネイルを再生することができます。 – Joseph