Symfony 1.4 problème de routage

44 views
Skip to first unread message

SlimShaggy

unread,
Dec 2, 2013, 10:29:20 AM12/2/13
to symfo...@googlegroups.com
Bonjour à tous,

Il y a encore du monde sur Symfony 1.4?

J'ai le problème de routage suivant dans un module d'admin.

Voici le code de la vue :
  <a href="<?php echo url_for('difyCommande/generateFacturesFan?id='.$commande->getId());?>">
    Générer les factures
  </a>
Il génère le lien suivant:
http://dify.localhost/backend_dev.php/difyCommande/30/generateFacturesFan

Et voici ce que j'obtiens en cliquant sur le lien:

404 | Not Found | sfError404Exception
Action "difyCommande/generateFacturesFan" does not exist.


Dans les logs je vois:


Match route "dify_commande_object" (/difyCommande/:id/:action.:sf_format) for /difyCommande/30/generateFacturesFan with parameters array ( 'module' => 'difyCommande', 'action' => 'generateFacturesFan', 'sf_format' => 'html', 'id' => '30',)

...ce qui est formidable. L'action qui n'est pas trouvée existe pourtant bel et bien dans apps/backend/modules/difyCommande/actions/action.class.php:
class DifyCommandeActions extends autoDifyCommandeActions
{
  public function executeGenerateFacturesFans(sfWebRequest $request)
  {
    $cid = $request->getParameter('id');
    $commande = DifyCommandeTable::getInstance()->find($cid);
    $commande->createFacturesFan();
    $this->redirect($request->getReferer());
  }
}

J'ai déjà eu des problèmes de route, mais c'est la première fois que Symfony prétend ne pas trouver une action qui est bien présente!
Bien sûr j'ai vidé le cache et brûler un cierge avant...

Quelqu'un a une idée?

Merci

SlimShaggy

unread,
Dec 2, 2013, 10:42:28 AM12/2/13
to symfo...@googlegroups.com
Typo!!
action executeGenerateFacturesFans avec un S du pluriel
pfff... la fatigue.
désolé

chok

unread,
Dec 2, 2013, 2:24:36 PM12/2/13
to symfo...@googlegroups.com
Bonsoir,

Il ne manque pas justement un "s" dans le url_for ?:D

Dans mes souvenirs quand j'avais des paramètres je faisais plutôt :
<?php echo url_for('ma_route', array('id' => $commande->getId())) ?>

Ca evite de se tromper dans l'url et c'est plus joli :p
Reply all
Reply to author
Forward
0 new messages