Restful Rails DELETE Javascript Question...

Hi,

Reading over the Restful Rails Development PDF and I had a couple of
questions.

On pg 13 it says that because DELETE isn't supported by browsers, the
DELETE is faked using client-side Javascript. This implies to me that
resource deletion on clients not using Javascript is unsupported. Is
this correct?

If so, is the expectation that the rise of REST will spur browsers to
support the other methods?

Thanks,
  Brad

It can be faked using a POST (Because DELETE should be protected from
bots & co). You can do that with a button_to helper, which generates
an all-inclusive POST form including the DELETE method. No JavaScript
here.

Be aware that using a button_to [which creates a form] within another form could lead to unexpected results.

RSL

take a look on restolog: http://code.google.com/p/restolog/source i
have delete with or without JS enabled

take a look on restolog:http://code.google.com/p/restolog/source i
have delete with or without JS enabled

Excellent. Thanks stoyan and Russell....

Brad

I've had a look and either I don't understand what I see or I don't like
it. The point of using DELETE or some HTTP method other than GET at any
rate for deleting things is that it keeps search engines from
following -- "clicking" them. The effect would be, and your routes.rb
suggests this, too, that if you let a search engine loose on your app
it will gnaw your database clean in no time.

Michael

I think that is the hope, that browsers will support the spec. It surprises me that they don’t since the http 1.1 spec is from June 1999 (hasn’t that been enough time to implement it?) and it would seem that is a simple verb (string) change to support it.

There was pretty good discussion on the problem:
http://www.thelucid.com/articles/2006/07/26/simply-restful-the-missing-action

"...The delete action is a confirmation of deletion. I don't think
anyone here is advocating deleting records via GET..."

Yes, I see, for /somethings/1;delete requests you're sending the user on
a detour over a confirmation view. I didn't notice that before.

Michael