| 1 | FEATURES | 
|---|
| 2 | ======== | 
|---|
| 3 |  | 
|---|
| 4 | Let's assume an model class named Entry, where we want to define the "image" column | 
|---|
| 5 | as a "file_upload" column. | 
|---|
| 6 |  | 
|---|
| 7 | class Entry < ActiveRecord::Base | 
|---|
| 8 |   file_column :image | 
|---|
| 9 | end | 
|---|
| 10 |  | 
|---|
| 11 | * every entry can have one uploaded file, the filename will be stored in the "image" column | 
|---|
| 12 |  | 
|---|
| 13 | * files will be stored in "public/entry/image/<entry.id>/filename.ext" | 
|---|
| 14 |  | 
|---|
| 15 | * Newly uploaded files will be stored in "public/entry/tmp/<random>/filename.ext" so that | 
|---|
| 16 |   they can be reused in form redisplays (due to validation etc.) | 
|---|
| 17 |  | 
|---|
| 18 | * in a view, "<%= file_column_field 'entry', 'image' %> will create a file upload field as well | 
|---|
| 19 |   as a hidden field to recover files uploaded before in a case of a form redisplay | 
|---|
| 20 |  | 
|---|
| 21 | * in a view, "<%= url_for_file_column 'entry', 'image' %> will create an URL to access the | 
|---|
| 22 |   uploaded file. Note that you need an Entry object in the instance variable @entry for this | 
|---|
| 23 |   to work. | 
|---|
| 24 |  | 
|---|
| 25 | * easy integration with RMagick to resize images and/or create thumb-nails. | 
|---|
| 26 |  | 
|---|
| 27 | USAGE | 
|---|
| 28 | ===== | 
|---|
| 29 |  | 
|---|
| 30 | Just drop the whole directory into your application's "vendor/plugins" directory. Starting | 
|---|
| 31 | with version 1.0rc of rails, it will be automatically picked for you by rails plugin | 
|---|
| 32 | mechanism. | 
|---|
| 33 |  | 
|---|
| 34 | DOCUMENTATION | 
|---|
| 35 | ============= | 
|---|
| 36 |  | 
|---|
| 37 | Please look at the rdoc-generated documentation in the "doc" directory. | 
|---|
| 38 |  | 
|---|
| 39 | RUNNING UNITTESTS | 
|---|
| 40 | ================= | 
|---|
| 41 |  | 
|---|
| 42 | There are extensive unittests in the "test" directory. Currently, only MySQL is supported, but | 
|---|
| 43 | you should be able to easily fix this by looking at "connection.rb". You have to create a | 
|---|
| 44 | database for the tests and put the connection information into "connection.rb". The schema | 
|---|
| 45 | for MySQL can be found in "test/fixtures/mysql.sql". | 
|---|
| 46 |  | 
|---|
| 47 | You can run the tests by starting the "*_test.rb" in the directory "test" | 
|---|
| 48 |  | 
|---|
| 49 | BUGS & FEEDBACK | 
|---|
| 50 | =============== | 
|---|
| 51 |  | 
|---|
| 52 | Bug reports (as well as patches) and feedback are very welcome. Please send it to | 
|---|
| 53 | sebastian.kanthak@muehlheim.de | 
|---|
| 54 |  | 
|---|