NoMethodError from ActiveRecord::Base#save

I have a written a simple RoR program that accepts a plaintext upload from a user and then emails that file capitalized to an email address aquired through a form. I am trying to utilize ActiveRecord to create a list of past upload , but I receive a NoMethodError whenever I try to save my model. The error follows:

<code>NoMethodError in UploadController#upload

You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.delete

RAILS_ROOT: C:/RailsApps/SpecEd1 Application Trace:

c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:124:in `rollback_active_record_state!' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/transactions.rb:110:in `save!' app/controllers/upload_controller.rb:18:in `upload'

Request

Parameters:

{"Upload"=>"Upload, Capitalize, and Email", "emailaddress"=>"Orbipedis@gmail.com", "datafile"=>#<ActionController::UploadedStringIO:0x3442a34>}

Response

Headers:

{"cookie"=>, "Cache-Control"=>"no-cache"}</code>

And here is my Model: require 'net/smtp'

class DataFile < ActiveRecord::Base    def initialize(incoming_file)       @file_name = incoming_file.original_filename       @content_type = incoming_file.content_type       @file = incoming_file    end        def uploaded_file=(incoming_file)       @file_name = incoming_file.original_filename       @content_type = incoming_file.content_type       @file = incoming_file    end        def file_name=(new_file_name)       write_attribute("file_name", sanitize_filename(new_file_name))    end        def save_file       File.open("#{RAILS_ROOT}/public/uploaded/#{@file_name}", "wb") do |f|          f.write(@file.read)       end    end        def email(address, time)       filedata = ""       File.open("#{RAILS_ROOT}/public/uploaded/#{@file_name}", "r") do |f|          if @content_type === 'text/plain'             lines = f.readlines             Net::SMTP.start('smtp.psu.edu', 25, 'arl.psu.edu', 'zkg5001', '4b4eebhjkasdfyu', :plain) do |smtp|                smtp.send_message(generate_email(lines, time), 'zkg5001@psu.edu', address)             end          else             Net::SMTP.start('smtp.psu.edu', 25, 'arl.psu.edu', 'zkg5001', '4b4eebhjkasdfyu', :plain) do |smtp|                smtp.send_message("file was not plaintext", 'zkg5001@psu.edu', address)             end          end       end    end        def to_s       "File-- name:#{@file_name} type:#{@content_type}"    end           private        def sanitize_filename(file_name)       just_filename = File.basename(file_name)       just_filename.gsub(/[^\w\.\-]/,'_')    end           def generate_email(lines, time)       email = "Time of fileprocess is: File processed at: #{time.hour}:#{time.min}:#{time.sec} #{time.mon}/#{time.mday}/#{time.year}\n\n"       email << lines.join('\n').upcase       File.open("C:\\myLog.txt", "w") do |f|          f.puts(email)       end              return email    end     end

And its migration: class DataFiles < ActiveRecord::Migration   def self.up      create_table :data_files do |t|         t.column :file_name, :string         t.column :content_type, :string         t.column :file, :text      end         end

  def self.down      drop_table :data_files   end end

and the controller: require 'date'

class UploadController < ApplicationController    protect_from_forgery :only => [:create, :update, :destroy]        def index       render :file => 'app\views\upload\index.html.erb'    end        def upload       @myData = DataFile.new(params['datafile'])       File.open("C:/myLog.txt", "w") do |f|          f.puts @myData       end              #@myData.uploaded_file = params['datafile']       @myData.save_file       @myData.save!       timeOfUpload = DateTime.now       if(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.match(params['emailaddress']))          @myData.email(params['emailaddress'], timeOfUpload)          redirect_to :action => 'index'       else          redirect_to :action => 'invalid_email'       end    end        def invalid_email       render :file => 'app/views/upload/invalid_email.html.erb'    end        def history       render :file =>'app/views/upload/history.html.erb'    end     end     I don't know why the exception is being thrown or how to fix it. Any assistance would be much appreciated