[Catalyst] How to clear off request parameter element

Jason Gottshall jgottshall at capwiz.com
Mon Feb 23 18:26:34 GMT 2009


kakimoto at tpg.com.au wrote:
> hi all
> 
> 
>  I have an app with a listing method in the controller. It goes a little
> like this:
> 
> sub list
> {
>       # get object from model based on $c->request->param('id');
> 
>       IF (object)
>       {
>        return;
>       }
>       ELSE
>       {
>        return all objects belonging to the current user;
>       }
> 
>     return 1;
> }
> 
> 
> 
> then , i have a deletion method which will delete a given object (by ID
> specific in a form via POST method) and list out all objects belonging
> to the current user.
> 
> sub delete
> {
>      # get specific object based on ID  ($c->request->param('id');)
> 
>       #delete object
> 
>      $c->forward( 'list' );
> }
> 
> 
> The problem here is that sub list will always call the
> $c->request->param('id'); which is no longer valid once an object has
> been deleted.
> 
>  What is the best way to delete the 'id' attribute off $c->request->param??
> 
> thank you.
> 
> K. akimoto

What if, after the delete is performed, the user decides to bookmark the 
list of items? The bookmark will be the URL to delete, instead of the 
more appropriate URL to list. Instead of forwarding within the current 
request, you should consider an actual redirect to your list page. It 
admittedly does require an extra request cycle, but the user's 
experience will be more correct.

-- 
Jason Gottshall
jgottshall at capwiz.com




More information about the Catalyst mailing list