Wpis z mikrobloga

Mirki, mam problem z #symfony #symfony2 #php (tak, znowu....)

Uczę się SF od wczoraj. Pewnie problem dość powszechny, ale w Google za cholerę znaleźć nie potrafię.
Mam sobie na podstronie w jednym kontrolerze: formularz dodawania rekordu i tabelę z wszystkimi rekordami.
Jeśli dodaję rekord, jest okej, rekord dodaje się do MySQL i jest widoczny w tabeli.

Ale jeśli w tej tabeli kliknę link do usunięcia tego rekordu, który prowadzi do controllera z @Route("/del/{id}"), kontroler ten usuwa rekord z bazy i przekierowuje z powrotem do kontrolera z tabelą, na stronie w tabeli wciąż widać ten rekord. Mimo, że z bazy danych jest już usunięty. Jak to naprawić? To problem cache jak się domyślam.

#pytanie
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Spake: Wklej kod kontrolera, bo mi to wygląda, że w jednej akcji najpierw pobierasz wszystkie rekordy a potem usuwasz, przez co dalej operujesz na wszystkich rekordach (razem z tym usuniętym).
  • Odpowiedz
@Lisek-Chytrusek: Tzn. jak wduszę na mojej stronie F5, to się odświeża całkiem długo, a po przejściu pod ten adres (enter w pasku przegladarki) ładuje się w ciągu kilku milisekund.
  • Odpowiedz
@Lisek-Chytrusek: Bo jeśli zmieniłem redirect na forward to już tak się nie dzieje, ale tak być nie może bo w pasku przeglądarki pozostaje link /del/25 np. przez co po odświeżeniu znów będzie próbowało usunąć usunięty wpis.
  • Odpowiedz
@Spake: imo to chyba problem z przekierowaniem po usunięciu. Zamiast "return new RedirectResponse($this->generateUrl('new'));" daj "return $this->redirectToRoute('new');"
  • Odpowiedz
@Spake: Jak coś działa tylko w incognito to pierwsze do sprawdzenia jest to czy jakiś extension przeglądarkowy czegoś nie psuje. Poza tym nie masz 2 kontrolerów tylko 1 z dwiema akcjami. Poka kod widoku jeszcze.
  • Odpowiedz
@zergu: Już sobie "poradziłem", a raczej tylko #!$%@?łem, bo okazało się, że restart przeglądarki pomógł, tyle czasu w #!$%@? (,)
  • Odpowiedz