Hello, I''m just starting to learn ruby on rails and I have a problem uploading pictures to my server. I just want to store the url of the picture and upload its file to public/images when I create a new Picture record. I don''t know where is my error and I am going crazy. I don''t need it for any customer or similar, I only want to understand why it doesn''t work. Please help! I have used this tutorial: http://programming-ut.blogspot.com/2010/01/ruby-on-rails-file-upload.html I have two tables: Dog - name - weight ... Picture - url - dog_id Dog has many Picture Picture belong to Dog In picture_controller I just call a method ''upload'' of the model at creation: def create @picture = Picture.new(params[:picture]) post = Picture.upload(params[:picture],@picture) respond_to do |format| if @picture.save format.html { redirect_to(@picture, :notice => ''Created!'') } format.xml { render :xml => @picture, :status => :created, :location => @picture } else format.html { render :action => "new" } format.xml { render :xml => @picture.errors, :status => :unprocessable_entity } end end end The method code is: class Picture < ActiveRecord::Base belongs_to :dog def self.upload(data,insert) fullname = data[''url''].original_filename name = File.basename(fullname) name.sub(/[^\w\.\-]/,''_'') insert.url = name directory = "/public/images" path = File.join(directory, insert.url) File.open(path, "wb") { |f| f.write(data[''url''].read) } end end And the view: <h1>New picture</h1> <% form_for(@picture, :html => {:multipart => true}) do |f| %> <%= f.error_messages %> <p> <%= f.label :url %><br /> <%= f.file_field :url %> </p> <p> <%= f.label :perro_id %><br /> <%= f.text_field :perro_id %> </p> <p> <%= f.submit ''Create'' %> </p> <% end %> When I push button Create, the log shows: Processing PicturesController#create (for 83.44.0.216 at 2010-12-11 21:16:49) [POST] Parameters: {"commit"=>"Create", "authenticity_token"=>"oZTzcJa99hTRHHl9hGSTEG70cbLITHt58wkNZIMlFo4=", "picture"=>"perro_id"=>"", "url"=>#<File:/tmp/RackMultipart20101211-28729-1ev718o-0>}} Errno::ENOENT (No such file or directory - /public/prueba): app/models/picture.rb:26:in `initialize'' app/models/picture.rb:26:in `open'' If you have read to this point... I can only say thanks! -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.