Проблем с route
Здравейте,
написах в UserController кога, който е за изтриване и редактиране на потребители, но и на двете ми дават грешка route. Кода който написах е:
/** * @Route("/delete/{id}", name="admin_user_delete") * * @param $id * @param Request $request * @return \Symfony\Component\HttpFoundation\Response */ public function deleteUser($id, Request $request) { $user = $this->getDoctrine()->getRepository(User::class)->find($id); if($user === null) { return $this->redirectToRoute("admin_users"); } $form = $this->createForm(UserEditType::class, $user); return $this->render('admin/user/delete.html.twig', ['user'=> $user, 'form' => $form->createView()]); }
Грешката която ми изписва браузъра е: Unable to generate a URL for the named route "admin_user_delete" as such route does not exist.
по-нагоре във файла съм използвал
/**
* @Route("/", name="admin_users")
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function listUsers()
{
$users = $this->getDoctrine()->getRepository(User::class)->findAll();
return $this->render('admin/user/list.html.twig', ['users'=> $users]);
}
и си работи и също така го сложих и в route.yml, но нищо не се оправи
пробвай без бакслаш в урл-а www.your-host.com/delete/12, ако нестане постни app/config/route.yml да видим там и между другото имат дебуг бар ползвай го...
Това с Action в метода при конфигурация с yml вместо анотации е задължително, а както в твоя случай е по конвенция
можеш ли да ми дадеш пример за route.yml ?
Принципно не ми харесва руутовете да са с анотации понеже така конфирурирането е пръснато и е неприятно /поне на мен/, аз предпочитам yml понеже е по-подредено и такива проблеми до сега не съм срещал.
все пак с анотациите имаш 2 варианта:
- казваш на системата определен контролер, който ползва анотации за руутовете като:
- казваш на системата цялата папка с контролерите от определен бъндъл:
Но при теб щом работи с определеният метод от този контролер значи не е нито едно от горните две...
Командата
какво ти показва ?
Колега, размени местата на $id и Request $request както е по-долу и кажи дали ще се оправи
Забравих да допълня да обърнеш внимание и на http метода /дали е GET, POST, DELETE и т.н./
Ако няма дефиниран @Method не би трябвало да е от значение, просто ще си влезе в блока.
не проработи, някакви други идеи ?
_wdt ANY ANY ANY /_wdt/{token}
_profiler_home ANY ANY ANY /_profiler/
_profiler_search ANY ANY ANY /_profiler/search
_profiler_search_bar ANY ANY ANY /_profiler/search_bar
_profiler_info ANY ANY ANY /_profiler/info/{about}
_profiler_phpinfo ANY ANY ANY /_profiler/phpinfo
_profiler_search_results ANY ANY ANY /_profiler/{token}/search/results
_profiler ANY ANY ANY /_profiler/{token}
_profiler_router ANY ANY ANY /_profiler/{token}/router
_profiler_exception ANY ANY ANY /_profiler/{token}/exception
_profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css
_twig_error_test ANY ANY ANY /{_locale}/_error/{code}.{_format}
blog_index GET ANY ANY /
security_login ANY ANY ANY /login
security_logout ANY ANY ANY /logout
user_register ANY ANY ANY /register
user_profile ANY ANY ANY /profile
admin_users ANY ANY ANY /admin/users/
admin_user_edit ANY ANY ANY /admin/users/edit/{id}
admin_user_delete ANY ANY ANY /admin/users/delete/{id}
това ми показва като написах
да и не работи
е не... би трябвало да работи... щом го вижда системата би трябвало да е ок... имаш ли кода в гитхъб примерно да се трейсне.. или поне dev.log-а
не знам как да си го кача в github, беше някаква команда
пробвай php bin/console cache:clear и php bin/console cache:clear --env=prod
[InvalidArgumentException]
The file "/home/infig7gc/public_html/test/app/config/internal/routing.yml" does not exist.
яко... проблема е почти ясен.. пробвай да изтриеш папките dev и prod ръчно от /home/infig7gc/public_html/test/var.
защо route.yml е в internal ?
сега пък ми казва, че не може да намери този файл /home/infig7gc/public_html/test/app/config/internal/routing.yml , а моят е в /home/infig7gc/public_html/test/app/config/routing.yml и как да оправя къде да гледа ?
принципно главният routing.yml файл трябва да е в app/config, виж в routing_dev.yml и routing_prod.yml да не би да инглуудваш нещо, което го няма
в route_dev.yml си е
, а routing_prod.yml го нямам изобщо
а съдържанието на app/config/routing.yml какво е ?
така няма да стане...ако искаш може с teamviewer да погледна иначе може да продължим така и до утре..
намери ме във фб https://www.facebook.com/profile.php?id=100003713273274
Успяхте ли да го оправите? Ако не сте може ли и аз да погледна довечера, че ми стана интересно?
Да, всичко е 6
а какъв беше проблема в крайна сметка, доста се изписа за този прословут руут...
Общо взето 2 мин работа ако не и по-малко.. използваше се продъкшън версията, вместо девелоперската версия на симфонията от което идва и известен батак от към кеша на системата..
Като включим грешната концепция за започване на проекта и съвсем мазало, но карай ще го оправи пича.
П.С. Пичове, ползвайте девелоперската версия /това е app_dev.php/ докато работите!
Хора всичко което съм направил е това което пише в документацията на RoYaL за PHP Fundamentals, който беше в края на мин. година ....
Казах ти, няма страшно. Ако има нещо питай и ще ти се отговори а после ще събираме мненията може и за лекция да стигнат :)
ясно, предполагам tech module