Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema com redirect()->action() com parâmetro

Meu objetivo é: Após cadastrar um tópico, o usuário seja redirecionado para a sala onde esse tópico foi criado, mas não está dando certo.

O método que faria isso é o seguinte:

    public function adicionado($id)
    {
        $topico = new Topico;
        $topico->nome = Request::input('inputNome');
        $topico->id_sala = Request::input('sala_id');
        $topico->save();

        return redirect()
                ->action('SalaController@visualiza', array('{$id}', $id));
    }

O método que ele é redirecionado é:

public function visualiza($id)

{
        $sala = Sala::find($id);

        return view('sala.board')->with('s', $sala);
 }

Minha rota é:

Route::get('sala/{id}', 'SalaController@visualiza');

E o erro que recebo ao tentar redirecionar é:

UrlGenerationException in UrlGenerationException.php line 17: Missing required parameters for [Route: id] [URI: sala/{id}].
2 respostas
solução!

Oi Fábio, tudo bem? O problema está no seu redirecionamento, você deve passar um array associativo. Faça o teste:

Mude:

 return redirect()->action('SalaController@visualiza', array('{$id}', $id));

Para:

 return redirect()->action('SalaController@visualiza', array('id' => $id));

Funcionou certinho! Muito obrigado!