Redirect via post

Galera, existe alguma coisa no yii para a mesma função do CController->redirect, só que, enviando a requisição via POST no yii?

Não achei nada no framework neste sentido, tava pensando em desenvolver, mas, queria saber se existe já pronto.

Eu não conheço, no Yii, nenhuma maneira de fazer isso.

Mas explicar melhor porque quer passar o POST de um controller para outro. Para mim, isso não faz muito sentido. De repente da pra pensar numa solução melhor =D

Foi mal a demora em responder, ando meio sem tempo aqui.

A grosso modo, to fazendo um cadastro master-detail, onde uma requisição em GET qualquer, faz ele perder a referência do objeto pai.

Pq isso acontece?

Pq eu to usando statefulForms e states, mantendo os dados que necessito entre requisições do tipo POST, evitando que algum dado ou informação fique anexado na URL.

Pois, quando vc dá ao final de uma action o redirect, para redirecionar a página para uma outra ação, ele irá fazer uma nova requisição, só que esta requisição é do tipo GET, fazendo com que imediatamente eu perca os dados carregados no state.

Se eu chamar a action diretamente via código funcionaria, pois ai ele renderizaria a action que eu gostaria, mas, a url ficaria diferente.

Imagina por exemplo, eu acabo de excluir, mas achamo uma action interna para renderizar a pesquisa, mas a minha url continuaria http://meusite.com/index.php?r=Modulo/ControllerX/Delete, mas o que o usuário vê na verdade é a pesquisa.

Não caberia colocar estes dados na sessão, pois são específicos do registro editado(E um usuário pode estar editando 2 registros ao mesmo tempo em janelas diferentes, o que vai gerar um grâaaaaaaaande problema.

Não gostaria de deixar muita coisa anexada na URL (Preferencialmente só o parâmetro "r" do próprio YII).

Pra solucionar este problema, tem um esquema bem conhecido (Leia-se P.O.G. hehe) na web. Renderizando uma página vazia, apenas com o form e os dados que vc precisa em campos ocultos, e, automaticamente reenviar para o servidor. No meu caso, seria apenas o campo do oculto gerado pelo statefulForm.

Até agora, tinha sido a única solução que eu tinha pensado. Mas tava pensando agora pouco. Será que é possível criar um CHtml::linkButton (Ou outro tipo de link qualquer do YII) com um JS personalizado? Pq ai eu poderia fazer via JS o envio de informações para a action, verificar o retorno e reenviar para a ação correta, evitando até mesmo o carregamento de uma página(A página que apenas iria me redirecionar) desnecessáriamente, e, consequentemente, não perderia as informações do state.

Minha idéia seria utilizar sessão, para evitar passar parametros GET.

Yii::app()->session[‘master_id’] = $master->id;