Laravel 3 - 为什么向Redirect :: to_route发送参数不起作用

I am wondering why the parameters aren't recognized in this way:

return Redirect::to_route('new_snippet', array(Input::get('snippet'), $validation_errors[0]));

or this way:

 return Redirect::to_action('snippet@new', array(Input::get('snippet'), $validation_errors[0]));

while they are in this manner

return $this->get_new(Input::get('snippet'), $validation_errors[0]);

by calling this function in the controller:

    public function get_new($default_snippet = '', $error = null)
    {
        #code
    }

I hope that anyone can briefly explain this. I am asking because this only works if all of it happens in the same controller.

Thanks