Маршруты ресурсов Laravel не найдены - PullRequest
0 голосов
/ 16 сентября 2018

У меня следующий ресурсный маршрут:

Route::resource('/evenementen', 'EventController');

По следующей команде (php artisan route: list):

 POST      | admin/evenementen                    | evenementen.store   | App\Http\Controllers\EventController@store                             | web,App\Http\Middleware\isAdmin       |
 GET|HEAD  | admin/evenementen                    | evenementen.index   | App\Http\Controllers\EventController@index                             | web,App\Http\Middleware\isAdmin       |
 GET|HEAD  | admin/evenementen/create             | evenementen.create  | App\Http\Controllers\EventController@create                            | web,App\Http\Middleware\isAdmin       |
 GET|HEAD  | admin/evenementen/{evenementen}      | evenementen.show    | App\Http\Controllers\EventController@show                              | web,App\Http\Middleware\isAdmin       |
 DELETE    | admin/evenementen/{evenementen}      | evenementen.destroy | App\Http\Controllers\EventController@destroy                           | web,App\Http\Middleware\isAdmin       |
 PUT|PATCH | admin/evenementen/{evenementen}      | evenementen.update  | App\Http\Controllers\EventController@update                            | web,App\Http\Middleware\isAdmin       |
 GET|HEAD  | admin/evenementen/{evenementen}/edit | evenementen.edit    | App\Http\Controllers\EventController@edit                              | web,App\Http\Middleware\isAdmin  

У меня должны быть эти маршруты. Хранить, индексировать и создавать маршруты и методы работают. Остальные маршруты не являются.

Если я попал в / admin / evenementen / 1 / edit, это выдает ошибку «Страница не найдена». Это также происходит, если POST для / admin / evenementen / 1 со следующей формой:

<form id="frm-delete" action="{{ URL::asset('admin/evenementen/'.$event->id) }}" method="POST">
    {{ csrf_field() }}
    @method('DELETE')
    <button type="submit" class="dropdown-item">
        Verwijderen
    </button>
</form>

В EventController у меня есть следующие методы, которые должны соответствовать маршрутам:

public function index() {..}
public function destroy($id) {..}
public function show($id) {..}
public function create() {..}
public function store(CreateEventRequest $request) {..}
public function edit($id) {..}

Много гуглил и не могу понять, что я делаю не так. Очень надеюсь, что кто-нибудь сможет мне помочь.

1 Ответ

0 голосов
/ 16 сентября 2018

Я не мог об этом задуматься и уже думал, что это что-то простое.

Если вы создаете ресурс, методы контроллера не ожидают идентификатора, а модель.Так что в моем случае с событиями

public function destroy($id) {..}

должно быть:

public function destroy(Event $event) {..}

Действительно надеется, что это может помочь кому-то еще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...