Próbuję określić, jaki jest najlepszy sposób zaprojektowania adresów URL. Więc tutaj jest to, co zrobiłem do tej pory:Czy Symfony2 poprawnie obsługuje spokojny adres URL i czy powinienem używać spokojnego adresu URL?
account_index:
pattern: /Accounts/
defaults: { _controller: "CoreBundle:Account:index" }
requirements: { _method: get }
account_create:
pattern: /Accounts/
defaults: { _controller: "CoreBundle:Account:create" }
requirements: { _method: post }
account_read:
pattern: /Accounts/{id}
defaults: { _controller: "CoreBundle:Account:show" }
requirements: { _method: get }
account_update:
pattern: /Accounts/{id}
defaults: { _controller: "CoreBundle:Account:update" }
requirements: { _method: put }
account_delete:
pattern: /Accounts/{id}
defaults: { _controller: "CoreBundle:Account:delete" }
requirements: { _method: delete }
Po przetestowaniu co zrobiłem, zdałem sobie sprawę, że aktualizacja i usuwanie nie działa (zawsze wywołuje account_read) ... Po googlowania mój problem, ja odkryłem, że metody PUT i DELETE nie są obsługiwane we wszystkich przeglądarkach ... i mogą zostać usunięte w przyszłości.
Potem czytałem, że Ruby na szynach obsługuje te dwie metody we wszystkich przeglądarkach, wykonując trochę magii.
Zastanawiam się, czy Symfony2 może obsługiwać PUT i DELETE tak jak robi to ruby? I Czy w ogóle powinienem używać URL-a?
Lubisz mam pomysł, dlaczego Symfony wykonuje account_read zamiast account_delete, nawet jeśli moja metoda formularza to "DELETE"? –
Twoja przeglądarka nigdy nie wyśle żądania DELETE, nawet jeśli twój html zawiera '
' – Florian