2010年08月04日

Ruby on Rails file_column

file_columnとは?


画像をアップするためのプラグインです。

環境


rails2.2.2
app/models/hoge.rb
app/views/hoge.html.erb

install


パターン1
ruby script/plugin install

パターン2


使用方法


hogeテーブルに
t.string image

カラムを追加

$ vi hoge.rb
file_column :image,
// カラム名指定
:magick =>{version =>{
:icon => "15x15"
}
},
:web_root => "images/",
:root_path => File.join(RAILS_ROOT,"public","images")
// 上記の場所に作成される。
// ここで多少場所を変えたりはできるが、大幅に場所を変えようとするとプラグインを改造しないと無理っぽい
// カラム名指定以外はなくても問題ない

$ vi hoge.html.erb
<% form_for(@blog, :html => {:multipart => true}) do |f| %>
<%= file_column_field "image", "image", "icon" %>
// これはプラグインのヘルパー、第3引数はなくてもいいし、あればmodelで指定したサイズが作成される


サイズ指定


320x240と320x240>と320x240!の違い
・320x240:縦横比を維持して、このサイズに収まる大きさにする。
・320x240>:これより小さい画像は小さいままで拡大しない。
・320x240!:縦横比を無視して、このサイズぴったりにあわせる。

エラーなど


uninitialized constant FileColumn::ClassMethods::Inflector

解決
$ vi vender/plugins/file_column/lib/file_column.rb
Inflector.underscore(self.name).to_s
// 下記へ変更
self.name.to_s.underscore


$ vi vendor/plugins/file_column/init.rb

ここにあるrequire 'test_case'がある場合はコメントアウト

Type Error

multipart => true

の指定忘れ
posted by RicK at 16:43| Comment(0) | TrackBack(0) | 日記