Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony 2] - Problème controller edit

Sujet résolu
    19 janvier 2017 à 22:45:34

    Bonsoir à tous, 

    j'ai débuté avec Symfony 2 sur mon temps libre j'essaie d'en faire le plus possible, je suis donc le cours et à partir de cet endroit précis plus rien ne va comme prévu.

    En effet je n'ai rien qui s'affiche sauf une erreur que je ne comprends pas pourtant j'ai bien vérifié le code et même copié collé les éléments qui me paraissaient faux mais qui étaient pourtant bien juste.

    Merci de votre aide

    L'erreur de SYMFONY :

    Controller "OC\PlatformBundle\Controller\AdvertController::editAction()" requires that you provide a value for the "$request" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.

    L'adresse utilisée :

    http://localhost/Symfony/web/app_dev.php/platform/edit/1

    L'edit :

    {% extends OCPlatformBundle::layout.html.twig %}

    {% block title %}
    Modifier l'annonce - {{ parent() }}
    {% endblock %}

    {% block ocplatform_body %}
    <h2>Modifier une annonce</h2>
    {{ include('OCPlatformBundle:Advert:form.html.twig') }}
    <p>
    Cette annonce sera modifiée après confirmation, veuillez en respecter l'idée de base.
    </p>
    <p>
    <a href="{{ path('oc_platform_view', {'id' : advert.id}) }}" class="btn btn-default">
    <i class="glyphicon glyphicon-chevron-left"></i>
    Retour à l'annonce
    </a>
    </p>
    {% endblock %}

    Le controller de l'edit en question : 

    public function editAction($id, Request $request)
    {
    if ($request->isMethod('POST')) {
    $request->getSession()->getFlashBag()->add('notice', 'Annonce modifiée.');

    return $this->redirectToRoute('oc_platform_view', array('id' => 5));
    }

    $advert = array(
    'title' => 'Recherche agent d\entretien',
    'id' => $id,
    'author' => 'SNCF',
    'content' => 'Recherche agent d\'entretien pour nettoyer la gare',
    'date' => new \DateTime()
    );

    return $this->render('OCPlatformBundle:Advert:edit.html.twig', array(
    'advert' => $advert
    ));
    }

    -
    Edité par bl0uf_ 19 janvier 2017 à 22:46:32

    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2017 à 11:02:12

      Quelle version de Symfony ?
      • Partager sur Facebook
      • Partager sur Twitter
      Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
        20 janvier 2017 à 11:42:47

        nightmat a écrit:

        Quelle version de Symfony ?


        Version 3.1.7
        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2017 à 12:08:10

          Tu as bien use Symfony\Component\HttpFoundation\Request dans la classe du contrôleur ?
          • Partager sur Facebook
          • Partager sur Twitter
          Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
            23 janvier 2017 à 18:18:09

            nightmat a écrit:

            Tu as bien use Symfony\Component\HttpFoundation\Request dans la classe du contrôleur ?


            Bonsoir, 

            Veuillez m'excuser pour le temps de réponse.

            C'était bien celà, je n'avais pas Symfony\Component\HttpFoundation\Request mais Symfony\Component\BrowserKit\Request


            Merci beaucoup pour votre aide ! 

            • Partager sur Facebook
            • Partager sur Twitter
              9 février 2017 à 13:39:04

              sujet résolue! mais comment vous avez fait? car j'ai le meme probleme, Merci de votre aide
              • Partager sur Facebook
              • Partager sur Twitter
                13 février 2017 à 16:20:15

                J'ai seulement modifié dans le controleur le HttpFoundation (voir ci dessus) en gras et rouge
                • Partager sur Facebook
                • Partager sur Twitter

                [Symfony 2] - Problème controller edit

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown