[LRUG] REST and Delete without JavaScript
Tom Armitage
tom at infovore.org
Fri Mar 27 05:55:07 PDT 2009
2009/3/27 Simon Sebright <simonsebright at hotmail.com>:
> I guess the non-JS case needs a form with a POST action, which could work
> just as well with JS via Ajax. Then it seems a shame to have bypassed the
> lovely :method => :delete!
>
> Any pointers?
My approach tends to be: just as you have pairings of new/create,
edit/update , you also need a pairing of delete/destroy.
So: in your routes, you add a :member route:
map.resources :forums, :member => {:delete => :get}
and your delete controller simply renders an "are you sure?" form. That form:
<% form_for :message, :html => { :method => :delete }, :url =>
forum_path(@forum) do |f| -%>
<p class="submit"><%= submit_tag "Delete forum" %></p>
<% end -%>
You still end up calling forums#destroy with a DELETE HTTP method, you
just have an interstitial delete view first.
It always annoys me that rails doesn't generate a "delete" view to
pair with "destroy"; to my mind, this is the only right way to do it.
Once this is in place, making it happen automagically via js is easy.
t.
More information about the Chat
mailing list