Problems with file_column plugin

  1. installation is not as smooth as some other plug-ins. If you follow
    the instructions on
    http://www.kanthak.net/opensource/file_column/

it makes a directory called trunk instead of file_column. You have to
manually rename it to file_column. I guess this is a minor annoyance but
it gives me the feeling that things aren’t quite like other plugins.

  1. I get this error: undefined method `file_column’ for Mymodel:Class
    after following the directions to to that on the same page. I thought it
    was maybe because I had to add require ‘rails_file_column’ to
    environment.rb but I still get the same error

Does anyone have an example of a getting this plugin working? A complete
example would be great (model, list and form views, and controller, and
schema)
http://wiki.rubyonrails.org/rails/pages/HowToUseFileColumn only has
model and view code

thanks!

in the db you need a text type column for the path that is stored in the
coresponding model; so the whole story would go like this:

Db:

(1)
some_table
id int …
foo (file_column_field–you can call this whatever you want–)
varchar(255) not null…

primary key (id) …

(2)you must download the file_column instructions from sabastian’s page
(it’s actually quite simple; just copy the ruby script/plugin install
http:// … into the directory of your application (it is done for every
application, not entirely for rails, as far as i know)

(3)in the model of SomeTable, put:

Class SomeTable
file_column :foo
end

(4) to put it in a form do:

start_form_tag ({:action => … }, :mulitpart => true ) # so that it can
recieve
files, encoding issues…



file_column_field ‘some_table’, ‘foo’
end_form_tag

and then, to get the relative path to the file that was downloaded do:

@var = SomeTable.find(theoneyouwant)

url_for_file_column(“var”, “foo”)
to get what you want.

[[[
can be image_tag(url_for_file_column(“var”, “foo”)) or
link_to(url_for_file_column(“var”, “foo”)) etc.
]]]

hope it helps.

harp

Thanks, Harp! It works, mostly. It works great in my new, edit, and show
methods, but not in the list method. The error I get is:

Showing app/views/cabmembers/list.rhtml where line #6 raised:

You have a nil object when you didn’t expect it!
The error occured while evaluating nil.logo_relative_path

Extracted source (around line #6):

3: <% for cabmember in @cabmembers %>
4:


5:

6: <%= image_tag url_for_file_column( ‘cabmember’, ‘logo’ ) %>
7:

I think the nil object has something to do with me not knowing how to
pass url_for_file_column the right info?? Any ideas?

I believe url_for_file_column requires an instance variable (i.e. one
with an @ before it). So you could try this:

<% for @cabmember in @cabmembers %>

<%= image_tag url_for_file_column( 'cabmember', 'logo' ) %>

-Greg

This is a late reply, but I’m also having problems with file_column

The svn install didn’t work so I copied the files manually into
vendor/plugins and renamed the dir file_column

I think my problem is in the require statements in environment.rb

At the moment I have

require ‘file_column’
require ‘file_column_helper’
require ‘rails_file_column’

at the bottom of the environment.rb file. Im not sure about the syntax
here, in particular whether I need to specify the filepath, or move
these from the vendor folder to a higher lib. Im also not sure if they
are in the correct place in the environment.rb file.

The error I am getting is when trying to save the file;

Do not know how to handle a string with value ‘060910 rebecca cannon
radio.jpg’ that was passed to a file_column. Check if the form’s
encoding has been set to ‘multipart/form-data’.

(Even tho my form specifies multipart:

<%= start_form_tag :action => ‘create’, :multipart => true %>

Any suggestions appreciated.

user error syntax problem as usual

<%= start_form_tag :action => ‘create’, :multipart => true %>

should have been

<%= start_form_tag({:action => ‘create’}, {:multipart => true}) %>