File Upload Problems

I am obviously doing something wrong when implementing the rubyonrials
wiki code for uploading a file.

I don’t seem to be getting the actual file object included with the
form, as it complains about trying to call read on a string object.

How do I get the actual file that was uploaded?

Here is my code:

Controller

def auto
if request.post?
@sched = Schedule.new
@sched.automate(params[:schedule])
end
end

Model

def automate(schedule)
File.open(“schedule_store/#{schedule[‘filename’]}”, “w”) { |f|
f.write(schedule[‘filename’].read) }
end

View

Schedule:

I have had great success with acts_as_attachment plugin.

:ivor

Figured out how to get my file uploaded although I can’t access the
origional_filename now. This is starting to frustrate me. I don’t
really want or need all the extra stuff included in acts_as_attachment
and I have to interact with it via the commandline, RadRails hasn’t
fixed their server problem yet (been a month now) so I can’t update
plugins through Eclipse.

If anyone could help me get this working that would be fantastic.
Here is the new code which uploads the file but won’t let me get the
filename (I have to give it a generic name).

Model
def self.automate(schedule)
@file_name = “test”
schedule[:schedule_file].rewind
File.open(“schedule_store/#{@file_name}”, “w”) { |f|
f.write(schedule[:schedule_file].read) }
end

Controller
def auto
if request.post?
@sched = Schedule.automate(params[:schedule])
end
end

View
<% form_for(:schedule, @schedule, :url => {:action => ‘auto’}, :html
=> {:multipart => true}) do |form| %>

Schedule: <%= form.file_field :schedule_file %>

<%= submit_tag "Auto" %> <% end %>

Thanks,
Glen

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