[Catalyst] How to detect if the current form request is a post?

kakimoto at tpg.com.au kakimoto at tpg.com.au
Wed Apr 1 00:01:19 BST 2009


hi all

 In Ruby we can detect if the current form's request is a post or not.

def controller_action
    if request.post?
              # Process post data as the user has submitted the form.
    else
        # Display form
    end
end


Looking at Catalyst::Request
(http://search.cpan.org/~mramberg/Catalyst-Runtime-5.71001/lib/Catalyst/Request.pm#$req-%3Eprotocol),
I found $req->method. The description says, "Contains the request method
(GET, POST, HEAD, etc)."

So, in Catalyst, would it be sufficient for me to do something like:

sub controller_action : Path('registration')
{
    if (($c->request->method eq 'POST') or ($c->request->method eq 'GET'))
    {
         # Process post data as the user has submitted the form.
    }
    else
    {
        # Display form
    }

   return 1;
}


Comments? Thanks




More information about the Catalyst mailing list