Jenny,

If you plan to test your upload with rspec using 'multipart_post' you may
need this patch.

http://merb.lighthouseapp.com/projects/7433/tickets/1148-patch-multipartrequesthelper-generates-incorrect-post-body

It's only needed if your form contains multiple fields, as in this example.
http://gist.github.com/41624

Also, webrat currently has two problems that'll keep you from being able to
test merb uploads.

1) It requires ActionController::TestUploadedFile, and
2) It knows nothing about merbs 'multipart_post' and 'multipart_put'.

I haven't submitted a patch to webrat yet, but I have it working locally and
can get you a temporary patch if you're interested.

Sandi


On Mon, Dec 29, 2008 at 2:11 PM, Jenny <[email protected]> wrote:

>
> I seem to have figured out paperclip (I didn't realize I need to
> reference in the dependency.rb file) so looks like there's no need to
> figure out how merb does it stand alone.
>
> Thanks for trying to help ^_^;;
>
>
>
> -Jenny
>
> On Dec 29, 1:24 pm, Samo Korosec <[email protected]> wrote:
> > It would help to have a look at the generated HTML and the ruby code
> > in question. Make sure that your form's file field's name is "video
> > [file]" (if the model that receives the file is indeed "Video") in
> > order for a "def file=(thingie) ..." method in the Video model to
> > work.
> >
> > Also, make sure the form is multipart – the "<form ... " tag should
> > have the property enctype="multipart/form-data".
> >
> > On 29 Dez., 15:00, Jenny <[email protected]> wrote:
> >
> > > I think what is tripping me up the most is figuring out how to access
> > > this hash table that it returns.  It does indeed seem like a fairly
> > > simple, straightforward process, but I get the feeling that without
> > > understanding the base underneath I'm doomed to do silly things
> > > without realizing it.
> >
> > > For example,
> >
> > > <%= form_for(@video, :action => resource(:videos)) do %>
> > >   <p>
> > >   <%= text_field :name,        :label => "Name : " %>
> > >   <%= file_field :file, :label => "File to Upload: " %>
> >
> > >   </p>
> >
> > >       <%= submit "Upload" %>
> > >     </p>
> >
> > > That is the simple view code I have to upload the file I want...but I
> > > can't get it to do anything, because I either get a method not found
> > > error (if I don't define file as a method) or I get a wrong number of
> > > arguments error, if I mimic Samo Korosec's code and have a file
> > > (incoming_file) method. The file_field doesn't seem to pass anything
> > > to my method at all, which makes me wonder how on earth I grab the
> > > hash in the first place. I also tried specifically doing file=, but
> > > that didn't seem to change anything other than letting me know that
> > > there is the wrong number of arguments, still.
> >
> > > I've tried working with paperclip as well...but even trying to import
> > > it (after successfully installing it) gives me compile time errors
> > > (all I'm doing is include Paperclip::Resources, like I've seen in some
> > > tutorials)
> >
> > > I feel like I understand everything, but that things aren't working
> > > quite the way I seem to think they should...
> >
> > > -Jenny
> >
> > > On Dec 26, 2:02 pm, Ezra Zygmuntowicz <[email protected]> wrote:
> >
> > > > On Dec 26, 2008, at 7:30 AM, Jenny wrote:
> >
> > > > > Given that merb's major selling point is file uploads, I'm a bit
> > > > > confused that there seems to be little to no documentation
> regarding
> > > > > them. I had rails uploading files in five minutes, merb continues
> to
> > > > > defeat me after 8 hours.
> >
> > > > >http://wiki.merbivore.com/upload?s[]=upload<http://wiki.merbivore.com/upload?s%5B%5D=upload>
> >
> > > > > The above is the ONLY resource I can find on merb file uploads, and
> it
> > > > > seems incomplete, outdated or possibly both, because it makes
> little
> > > > > since and I cannot for the life of me get it to work.
> >
> > > > > Can anyone shed some light on this arcane process, or at least
> point
> > > > > me towards some decent resources?
> >
> > > > > -Jenny
> >
> > > >         What problems did you run into? It is literally a few lines
> of code
> > > > to handle an upload. You just upload to an action, and in that action
>
> > > > you will get a certain hash in the params that is like this:
> >
> > > >              {:filename => File.basename(filename),
> > > >              :content_type => content_type,
> > > >              :tempfile => body,
> > > >              :size => File.size(body.path)}
> >
> > > > So you get the filename, the content type, :tempfile is the actual
> > > > file on disk and :size is the size of the file. Do whatever you want
>
> > > > with it from there.
> >
> > > > Cheers-
> > > > Ezra Zygmuntowicz
> > > > [email protected]
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"merb" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/merb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to