Uploading multiple files with will_paginate

hey all

i’m using attachment_fu to add ‘documents’ (the attached class) to a
forum post (in our app). It’s all working fine for a single document -
on the new post page i just have a file_field which sets
“post[document]”, which calls my Post#
document= method, which builds a document for that post:

def document=(file)
self.documents.build(:uploaded_data => file)
end

Then the post is saved and it’s all good.

I thought it would be nice to be able to add multiple documents at once.
So, instead of writing to “post[document]” in the form, i’m writing to
“post[documents][]”, and i get an array of files through. I then do
this -

def documents=(files)
files.each{|file| self.document = file}
end

expecting that this would build three documents, and that when i saved
the post then the documents would get created. However, i’m getting
this error, when i try to do the Post.build(params[:post]) in the
controller:

Document(#-635202458) expected, got
ActionController::UploadedTempfile(#-613987618)

Is it the case that there’s some rails magic going on here, and we’re
not really dealing with file objects after all, but a tempfile, of which
there can only be one? (like in highlander) Or something else?

Grateful for any guidance…
max

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs