Mam zasób trasy Route::resource('projects', 'ProjectsController');
, a po uruchomieniu route:list
widzę, że POST jest dostępny.Laravel 5: Nie mogę POST wysłać do zasobu
+--------+----------+--------------------------+------------------+--------------------------------------------------------------+-----------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+--------------------------+------------------+--------------------------------------------------------------+-----------------+
| | GET|HEAD | projects | projects.index | App\Http\Controllers\[email protected] | auth |
| | POST | projects | projects.store | App\Http\Controllers\[email protected] | auth |
| | GET|HEAD | projects/create | projects.create | App\Http\Controllers\[email protected] | auth |
| | GET|HEAD | projects/{projects} | projects.show | App\Http\Controllers\[email protected] | auth |
| | PUT | projects/{projects} | projects.update | App\Http\Controllers\[email protected] | auth |
| | PATCH | projects/{projects} | | App\Http\Controllers\[email protected] | auth |
| | DELETE | projects/{projects} | projects.destroy | App\Http\Controllers\[email protected] | auth |
| | GET|HEAD | projects/{projects}/edit | projects.edit | App\Http\Controllers\[email protected] | auth |
+--------+----------+--------------------------+------------------+--------------------------------------------------------------+-----------------+
Kiedy jestem w /projects/create
(pokazuje moją postać) i uderzyłam przycisk Prześlij, pojawia się błąd mówiąc:
MethodNotAllowedHttpException in RouteCollection.php line 201:
at RouteCollection->methodNotAllowed(array('GET', 'HEAD', 'PUT', 'PATCH', 'DELETE')) in RouteCollection.php line 188
Czy to być może, jak ja definiowania moje <form>
tag? Czy nie używam właściwej akcji?
<form method="post" action="">
Próbowałem też <form method="post" action="{{ url('projects/store') }}">
Niestety, jestem noobem do laravel!
Ktokolwiek zagłosował na zamknięcie mojego pytania, ponieważ nie jest to temat, proszę wyjaśnić – Ronnie
Twoje trasy określają tylko metody 'GET' i' HEAD' jako dozwolone dla '/ projects/create', ale używasz metody' POST' do przesłania Twoja forma. Dostosuj plik tras, aby zaakceptować również "POST". – brezanac
Rozumiem to teraz, dzięki. @Zerp zwrócił uwagę, że moje działanie musi wskazywać na proste '/ projects', aby móc przechowywać – Ronnie