Loading...
daniel.nikov926 avatar daniel.nikov926 18 Точки

Проблем с 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.

0
PHP Web Development
nmihaylov avatar nmihaylov 1 Точки

Пробва ли да изтриеш кеша?

0
daniel.nikov926 avatar daniel.nikov926 18 Точки

Да и ctrl+F5 не помага, защото като ги изтрия и си тръгва всичко

0
nmihaylov avatar nmihaylov 1 Точки

Покажи къде и как викаш този route?

0
daniel.nikov926 avatar daniel.nikov926 18 Точки
{% block main %}
    <div class="admin_panel_list">
        <fieldset>
            <legend>Всички потребители</legend>
            <table class="table table-striped">
                <thead>
                <tr>
                    <th>#</th>
                    <th>Full Name</th>
                    <th>Email</th>
                    <th>Actions</th>
                </tr>
                </thead>
                <tbody>
                {% for user in users %}
                <tr>
                <tr {% if user.isAdmin() %}class="info" {% endif %}>
                    <td>{{ user.id }}</td>
                    <td>{{ user.fullName }}</td>
                    <td>{{ user.email }}</td>
                    <td>
                        <a href="#">Edit</a>
                        <a href="{{ path('admin_user_delete', {'id': user.id}) }}">Delete</a>
                    </td>
                </tr>
                </tr>
                </tbody>
                {% endfor %}
            </table>
        </fieldset>
    </div>
{% endblock %}
0
netbull avatar netbull -4 Точки

1-во метода ти трябва да завършва на Action т.е. deleteUserAction.

2-ро погледни пак дали си включил в app/config/route.yml този контролер или бъндъл да използва анотации за руутовете както е описано тук

П.С. предполагам колегата е имал предвид кеша на симфони, а не на браузъра. На симфони се трие с командата php bin/console cache:clear (--env=prod) /по подразбиране трие за девелопърската версия/

0
16/01/2017 09:35:26
daniel.nikov926 avatar daniel.nikov926 18 Точки

по-нагоре във файла съм използвал

/**
     * @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, но нищо не се оправи

0
netbull avatar netbull -4 Точки

пробвай без бакслаш в урл-а www.your-host.com/delete/12, ако нестане постни app/config/route.yml да видим там и между другото имат дебуг бар ползвай го...

Това с Action в метода при конфигурация с yml вместо анотации е задължително, а както в твоя случай е по конвенция

0
16/01/2017 09:50:29
daniel.nikov926 avatar daniel.nikov926 18 Точки

можеш ли да ми дадеш пример за route.yml ?

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.