I’m having trouble wrapping my head around how to do this.
If I have photo and photoset models with an :image file_column in photo,
how
do I process a directory of photos, rather than one at at time through
a
form, what’s the syntax?
ps = Photoset.new
Dir.glob(’*.jpg’).each do |f|
p = Photo.new
p.image = f <--------- This is the linkage I don’t believe is this
easy?
ps.images << p
end
Anyone else done something like this? Google and list archive search
haven’t done it for me.
Fluffy Hippo wrote:
p.image = f <--------- This is the linkage I don’t believe is this
easy?
It might be that easy. I would test. There is a part of file_column
called file_compat.rb that has a comment which says this:
This bit of code allows you to pass regular old files to
file_column. file_column depends on a few extra methods that the
CGI uploaded file class adds. We will add the equivalent methods
to file objects if necessary by extending them with this module. This
avoids opening up the standard File class which might result in
naming conflicts.
So give it a try. It might just work. The comments in the plugin
indicate it should be supported.
Eric
Almost that easy … you have to pass a File object instead of a string
and
then it works fine.
Using your variables …
fh = File.open(f)
p.image = fh
p.save