Can't seem to get variables set in controllers I think I might be confused by https://craftcms.com/docs/plugins/controllers#posting-to-controller-actions

I have a controller that I want to return a model when validation fails:

$post = craft()-&gt;request-&gt;getPost();
$requestModel = Micros_AuthModel::populateModel($post);

if ( ! $requestModel-&gt;validate())
{
    craft()-&gt;urlManager-&gt;setRouteVariables(array(
        'requestModel' =&gt; $requestModel
    ));

    $this-&gt;redirectToPostedUrl();
}


I assumed I would have access to requestModel in the template that posted:

{% if requestModel is defined %}
    {{ inspect(requestModel) }}
{% endif %}


But I that inspect() call never fires.

What am I missing?
Close!  You want to redirect on success and let the request continue as normal on validation failure.

public function actionMyPluginAction
{
    $post = craft()-&gt;request-&gt;getPost();
    $requestModel = Micros_AuthModel::populateModel($post);

    if ($requestModel-&gt;validate())
    {
        // Yay! What I did works!

        $this-&gt;redirectToPostedUrl();
    }

    craft()-&gt;urlManager-&gt;setRouteVariables(array(
        'requestModel' =&gt; $requestModel
    ));
}