RESTful actions' context

Hi all,

I’ve just started a (little) project for my degree and I’m trying to
embrace, love and experiment with the CRUD+RESTful approach. I must say
that it’s amazing how simple my controllers look now. I’m pretty
excited with this way of thinking.

However, I’ve hitting a problem with this approach. I’ve some models
that I can create/destroy from different points in my application.
Suppose the typical example with Article and Comments. Suppose that I
have two views: one which display and article with all its comments and
another that displays recent comments (no matter what article they
belongs to).

Suppose, moreover, that I can delete comments from those views. In the
first case, when the comment is deleted, the browser must be redirected
to the first view. However, when the comment is deleted from the second
view, the browser must be redirected to the recent comments views.

The problem, with the CRUD+RESTful approach, I only have an action to
delete comments (CommentController#destroy).

What is The Rails Way to achieve that? Using the context plugin[1]
maybe?

Thank you all.

[1] http://rubyforge.org/scm/?group_id=2485

Hi

one option might be

def destroy
ref = request.env[“REQUEST_URI”]
if ref == ‘/first_view’
redirect_to :action => ‘first_redirect’
elsif ref == ‘/second_view’
redirect_to :action => ‘second_redirect’
end
end

There are many other way. You might for example pass the redirect_target
as
a parameter:

def destroy
redirect = params[:redirect]
redirect_to :action => redirect
end

Cheers,
Jan


––––––––––––––––––––––––––––––
http://www.inviado.de - Internetseiten für RAe
Jan Prill - Teamleiter - adesso SE | XING