CSV Upload Problem

Hey all, I’m running into some problems uploading a CSV file. I have
another app that uploads photos that works fine, but for some reason
this
doesn’t work at all.

The basic setup:

View:

Upload Survey

<% form_tag :action => ‘upload’, :multipart => true, :id => @survey do
%>
<%=file_field “survey”, “filepath”%>

<%= submit_tag ‘Upload’ %>
<% end %>

Controller:
class SurveysController < ApplicationController
def upload
if request.post?
#Create a survey model with a factory method
head_surv = Survey.factory(“Head”, params[:head])

  #Upload the survey file
  head_surv.upload_file(params[:survey][:filepath])
end

end
end

Upload logic in a mixin:
module CsvSurveyLoader
def upload_file(file)
File.open(get_destination(), “w”) do |f|
f.write(file.read)
end
end
end

Okay there is the basic setup. I’m running into 2 problems.

  1. When using firefox, I’m only getting a file name. (i.e. “survey.csv”
    vs
    “/path to csv/survey.csv”).
  2. A hard error:
    NoMethodError in SurveysController#upload

undefined method `read’ for “C:\Users\joe\Desktop\Head1.csv”:String

I’ve been staring at this so long my head is spinning, if anyone has any
ideas I’d be really appreaciative.

Just as a side note, the file can be read by fastercsv on my dev machine
but
the above code will not read the file.