Not quite sure why you're rendering a file like that...the idiomatic way is to have a file in app/views/uploads/index.html.erb that displays whatever you want (in this case presumably some form of the CSV data). Rails assumes this and will render index.html.erb without any explicit rendering.
Garrett Lancaster
------------------------------------------------------------------------ rixter <mailto:caseyr...@gmail.com> February 1, 2011 2:02 PMI'm new to ROR and still trying to wrap my mind around the MVC construct. Hope someone can spot what is probably a simple error here.I need to have a user upload a CSV file, parse the header (the table field names) then each row of data, and import the data into its respective tables.In the view I have: <% form_tag ({:action => 'uploadFile'}, :multipart => true) do %> <p><label for="upload_file">Select File</label> : <%= file_field 'upload', 'datafile' %></p> <%= submit_tag "Upload" %> <% end %> in the controller: class UploadController < ApplicationController def index render :file => 'app\views\upload\uploadfile.html.erb' end def uploadFile post = Import.proc_csv( params[:upload]) flash[:notice] = "File imported successfully" redirect_to :action => :index rescue flash[:error] = "Error importing file" redirect_to :action => 'index' end end and in the model: class Import < ActiveRecord::Base require 'fastercsv' def self.proc_csv(upload) row_count = 0FasterCSV.foreach([:csv_import][:file], :headers => :first_row) do |row|@gr = Genotype_runs.create(:genotype_date_1=>row[4],:genotype_date_2=>row[5],:genotype_date_3=>row[6]) # use the id of the Genotype_runs record to link to Genotype_data rec. Genotype_data.create(:genotype_run_id=> gr.id, :box=>row[0], :subjectid=>row[1], :labid=>row[2], :well=>row[4], :created_at=>Time.now,:updated_at=>Time.now)# print message showing import $stderr.print "\r%5d ..." % csv.lineno $stderr.flush row_count = row_count + 1 end end def self.save(upload) name = upload['datafile'].original_filename directory = "public/data/import" # create the file path path = File.join(directory, name) # write the file File.open(path, "wb") { |f| f.write(upload['datafile'].read) } end endThe file upload screen allows me to upload a file, but when I submit it, I get the following error:Errno::ENOENT in UploadController#index No such file or directory - app\views\upload\uploadfile.html.erbWhich is rather a puzzle for me...any suggestions/insights/comments appreciated!--Rick --You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.To post to this group, send email to rubyonrails-talk@googlegroups.com.To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
<<inline: compose-unknown-contact.jpg>>