その他
    ホーム技術発信DoRubyRuby On Rails 画像アップロードプラグイン file_column

    Ruby On Rails 画像アップロードプラグイン file_column

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    ども〜rickです。

    今回は、画像を簡単にアップロードできるようになるプラグインの紹介をします。

    環境

    rails2.2.2
    ImageMagick6.4.8
    RMagick2.9.1

    migration

    画像を入れたいところに

    t.string image
    でカラムを追加する。

    model

    file_column :image, :magick => {
    :versions => {
    :icon => {:size => “16×16”},
    :thumb => {:size => “40×40”},
    :medium => {:size => “120×120”}
    }
    },
    :web_root => “images/”,
    :root_path => File.join(RAILS_ROOT, “public”, “images”) //この場所に作られる

    View

    form文に下記追加

    <% form_for(@blog, :html => {:multipart => true}) do |f| %>
    // multipart => trueを忘れずに
    <%= file_column_field ‘image’, ‘image’, ‘icon’ %>
    //これはプラグインのヘルパー、第三引数はなくてもいいしあったらモデルに書いたサイズになる

    おまけ

    “320×240″、”320×240>”、”320×240!”の違い
    “320×240” 縦横比を維持して、このサイズに収まる大きさにする。
    “320×240>” これより小さい画像は小さいまま、拡大しない。
    “320×240!” 縦横比を無視して、このサイズぴったりに合わせる。
    :small、:medium、:largeは自分の好きなキー名に出来る。
    極端な話、:s、:m、:l、:xlなんてキー名でも良い。

    以上!