I used the following codes found in the net to use to write a file to
upload the files. down are the codes i have used. but still i did not
able to get the correct coding. so if somebody know where i have gone
wrong pls reply.
###################### IN the View #############################3
<form action="create" method="post" enctype="multipart/form-data">
<p>
<b>Name:</b><br />
<%= text_field "person", "name" %>
</p>
<p>
<b>Picture:</b><br />
<input type="file" name="person[picture]" />
</p>
<p><input type="submit" name="Save" /></p>
</form>
#################The controller:##########################
class AddressbookController < ApplicationController
def new
# not really needed since the template doesn't rely on any data
end
def create
post = Post.save(@params["person"])
# Doesn't this mean post is a File object?
# post.id is a bad idea in this case...
redirect_to :action => "show", :id => post.id
end
end
######### the model ###################
class Post < ActiveRecord::Base
def self.save(person)
f = File.new("pictures/#{person['name']}/picture.jpg", "wb")
f.write params[:picture].read
f.close
end
in the uploading it gives a error like this
undefined local variable or method `params' for Post:Class
so i did some modification as
f.write params[:picture].read
line to
f.write (@params[:picture].read)
so the code woke properly, but still it gives a error saying
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.[]
SO IF SOMEBODY KNOW HOW TO OVER COME THIS PROBLEM PLS REPLY
···
--
Posted via http://www.ruby-forum.com/.