ajax file upload question

I have the file upload working, I have to place it outside my main form.

Is there a way so I can have somewhere other than outside my form?

This below is all after the submit button:

<div id="file"> <%= render :partial => '/rsl/sitelist', :locals => { :files => @files } %> </div>

<iframe name="upload_file" id="upload_file" style="width:1px;height: 1px;border:0px"></iframe> <% form_for :file, :url => file_upload_path(:format => 'js'), :html => { :multipart => true, :target => 'upload_file' } do %>   <b>File:</b>&nbsp;   <%= file_field_tag :upload %>&nbsp;   <%= hidden_field_tag 'rfi', @rfi.id %>   <%= submit_tag 'Upload File' %>&nbsp; <% end %>


why do you need it outside the main form? is the main form also going to be there on that page? you might want to check out form_tag http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#M001729

good luck!

Well the file upload was not working because it is a form inside a form.

Can you be more descriptive?

If the file is related to the model who’s form is on the page, then the file can and should be a part of the form for that model.

If the file is unrelated to the model who’s form is in the page and/or you want to include a separate form for the file upload, then you can use something like

<% form_tag :file, :url => file_upload_path(:format => ‘js’), :html => { :multipart => true, :target => ‘upload_file’ } do %>

     <%= file_field_tag :upload %>&nbsp;
     <%= hidden_field_tag 'rfi', @[rfi.id](http://rfi.id) %>

     <%= submit_tag 'UploadFile'  %>&nbsp;

<% end %>

… which is just the code u pasted with form_tag instead of form_for. you should read the API to understand the difference.

I do know the difference but when I move the code into the main form it tries to submit the whole form.

You can use either form_for or form_tag for the file. In either case, the main form should close before you start the one for the file.

Whats the problem?

Well all file uploads from what I have seen are within the main form not below the submit button. I guess I will just use a modal box to do the uploads.

I have a Paperclip file upload going inside my model's form, but not in a form for itself. I was approaching this as a form issue. Anyway, you should try Paperclip if it seems like it might help you. Its really extremely easy file uploads.


good luck!