Forum: Ruby on Rails Restful delete is driving me nuts...

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
4c36eea28098b1483e25e885121398f1?d=identicon&s=25 jlf (Guest)
on 2009-03-02 14:46
(Received via mailing list)
Hi,

In my project, all delete links aren't working. They keep acting as
"show" action.

Here is an example for the announcements controller.

In routes.rb :

map.resources :announcements

In my index view, I have the standard
<%= link_to 'Destroy', announcement, :confirm => 'Are you
sure?', :method => :delete %>

But when ever I click on the link, controller gets a "get" message,
not a "delete".

Processing AnnouncementsController#show (for 127.0.0.1 at 2009-03-02
14:01:23) [GET]
  Session ID: 95ccbfa93eef0bf8408147c7b6b9a287
  Parameters: {"action"=>"show", "id"=>"2",
"controller"=>"announcements", "locale"=>"en"}

In order to get the delete working I had to create a new named route.

map.annoucements_delete "announcements/:id/
delete", :controller=>"announcements", :action => "destroy"

<%= link_to 'delete', annoucements_delete_path(announcement), :confirm
=> 'Are you sure?', :method => :delete %>

It works, but it is ugly.

What did I do wrong ?
Thanks
Jean-Loup
40db9e75b3f5899258e3bdc0c9210154?d=identicon&s=25 Conrad Taylor (conradwt)
on 2009-03-02 16:36
(Received via mailing list)
On Mon, Mar 2, 2009 at 5:20 AM, jlf <jlfenaux@gmail.com> wrote:

> map.resources :announcements
>  Session ID: 95ccbfa93eef0bf8408147c7b6b9a287
>
> It works, but it is ugly.
>
> What did I do wrong ?
> Thanks
> Jean-Loup


In my very very small example, the following works for me:

*<%= link_to "delete", announcement**_path(**announcement**), **:confirm
=>
"Are you sure?", :method => :delete**  %>*

Good luck,

-Conrad
De1ef2352881fc8fff0da7ad806f0e45?d=identicon&s=25 Alejandro Gonzalez (Guest)
on 2009-03-02 17:31
(Received via mailing list)
Do you have javascript enabled in the browser you're testing the
delete action with?

<%= link_to 'Destroy', announcement, :method => :delete %> produces an
anchor tag to the show action but with a bunch of javascript code to
emulate the DELETE http method.
This topic is locked and can not be replied to.