ホーム > RoR > FileColumnプラグインのインストール

FileColumnプラグインのインストール

画像ファイルのアップロードが便利になるように「FileColumn」というプラグインをインストールする。合わせて、新しいカラムをテーブルに追加(削除)するやり方も一緒にメモ。

Railsで画像を扱うにあたっては前もってImageMagickとRMagickをインストールしておくこと。

$ sudo gem install ImageMagick
$ sudo gem install rmagick


FileColumnプラグインを使用したいRailsアプリケーションのrootディレクトリにターミナルで移動してから以下のコマンドを実行。

$ ruby script/plugin install http://filecolumn.googlecode.com/svn/tags/

※新しいプラグインをインストールしたらサーバを再起動すること。

FileColumnプラグインを利用するために、カラム(テーブルの項目)を追加する。カラムの追加はジェネレイターのmigrationコマンドで行う。引数に追加するフィールドを「add_image_to_entry image:string」として、以下を実行。

$ ruby script/generate migration add_image_to_entry image:string

「add_image_to_entry」は、imageという新しい項目をモデル名:entryに追加するという意味。その後の「image:string」で、より詳しくこの項目の内容を定義している。

※逆にカラムの削除はaddの代わりに「remove」を使い「from_モデル名」とすればいい。

追加したカラムによる新しいテーブル定義が出来たので、migrateを実行して実際にテーブルを作成する。

$ rake db:migrate
(in /Users/showjin/Documents/Rails/blog)
== 3 AddImageToEntry: migrating ===============================================
-- add_column(:entries, :image, :string)
   -> 0.0054s
== 3 AddImageToEntry: migrated (0.0057s) ======================================

mysqlに接続して、ほんとにカラムが追加されているか確認してみる。
newfield
「Field」部分に追加した「image」というカラム名が追加されている。

モデルの修正

FileColumnプラグインを利用するために、画像を扱うモデル(この場合はentry)にfile_columnの設定を加える。

app/models/entry.rb
を開いて、class Entry < ActiveRecord::Base の内側に以下の記述を追加。

file_column :image, :magick => {:geometry => '458x360>'}

この458×360という指定によって、アップロードと同時にこのサイズ内で拡大縮小が可能となる。数字の後ろ(360)に「>」を付けると、縦横どちらか大きい方を基準に縦横比を変えずに拡大縮小される。

このfile_columnで指定したカラムには、そのアップロードした画像のファイル名のみが保存され、実際の画像データはpublicフォルダにモデル名と同じ名前のフォルダが作成され(この場合はentry)その中に保存される。この場合はpublic/entry/imageフォルダの中に。

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://showzine.info/blog/2009/01/filecolumn%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab.html/trackback
トラックバックの送信元リスト
FileColumnプラグインのインストール - SHOWJIN*BLOG より

ホーム > RoR > FileColumnプラグインのインストール

検索
フィード

ページの上部に戻る