problème de routes

Par wenz, il y a 10 ans


Bonjour,
j'ai un problème de route que je ne comprends pas, les paramètres sont bien passé mais j'ai l'erreur suivante que j'ai du mal à comprendre.
voici le code du route

Router::connect('/users/:country/:id-:slug',array('controller'=>'Users','action'=>'view'),array('pass' => array('country','id','slug'),'slug'=>'[A-Z]+','id' =>'[0-9]+','slug'=>"[a-z0-9_\-]+"));

l'erreur générée est la suivante:
Missing Method in UsersController

Error: The action AS is not defined in controller UsersController
Error: Create UsersController::AS() in file: app/Controller/UsersController.php.
le paramètre country est consideré comme une action j'ai du mal à saisi d'où vient l'erreur. merci

2 réponses

Lartak, il y a 10 ans

Bonsoir.
C'est normal, tu définis 2 fois la structure pour le slug, mais pas une seule fois pour country :

'slug'=>'[A-Z]+','id' =>'[0-9]+','slug'=>"[a-z0-9_\-]+"

Du coup, à l'emplacement de la valeur pour :country, s'il détecte AS, il pense que c'est le nom d'une action, car le routing n'est pas respecté.

wenz, il y a 10 ans

Merci lartak pour ta réponse, mais cj'ai toujours la même erreur après avoir corrigé, mais AS est toujours considéreé comme une action