2017-12-29 33 views
2

라우트가 잘못된 컨트롤러를 참조하는 문제가 있습니다.잘못된 컨트롤러를 호출하는 라우트 라우트 경로

경로 :도/이벤트/{이벤트 ID} 경로에있는 '곳'정의 자와,

<a class="btn btn-theme-colored " href="/event/waitlist/{{ $event->id }}">Join Now!</a> 

어떤 이유를 들어 블레이드 템플릿에

//Event Routes 
Route::get('/event/register/thankyou', function(){return view('pages.events.thanks');})->name('event-thanks'); 
Route::get('/event/waitlist/confirmation', function(){return view('pages.events.waitlist-confirmation');})->name('event-waitlist-confirmation'); 
Route::get('/event/register/{eventId}/{price}', '[email protected]')->name('event-register-page')->middleware('auth'); 
Route::post('/event/register/{eventId}', '[email protected]')->name('event-register')->middleware('auth'); 
Route::post('/event/waitlist/{eventId}', '[email protected]')->name('event-join-waitlist')->middleware('auth'); 
Route::get('/event/{eventId}/{eventName?}', '[email protected]')->where('eventId', '[0-9]+')->name('event'); 
Route::get('/regionalevents', '[email protected]')->name('events-regional'); 

은,이 버튼이 있습니다 - 버튼을 클릭해도이 오류가 계속 발생합니다.

MethodNotAllowedHttpException 

'어디에서'정의자를 가져 오면 오류 :

ErrorException 
Trying to get property of non-object at PageControllers->event('waitlist', '1002') 

본질적으로, 그것은 PageControllers 대신 EventController에 joinWaitlist 기능의 이벤트 함수를 호출합니다.

경로를 재정렬하려고 시도했지만 작동하지 않습니다.

PageController 이벤트 함수에서 'dd ($ eventId);'를 넣습니다. 그리고 이것이 URL 일 때 : http://localhost:8000/event/waitlist/1002 - "대기자 명단"을 반환합니다.

내가 바로 직설적 인 것이 있습니까? 나는이 시점에서 완전히 붙어있다. 어떤 도움을 많이 주시면 감사하겠습니다!

Route::get('/event/waitlist/{eventId}' 

대신에 : 당신이 a href 링크를 사용할 때

Route::post('/event/waitlist/{eventId}' 

당신이 GET 요청을 보내는 때문에

+0

'경로 : 게시물 ('/ 이벤트/대기자 명단/{이벤트 ID}', 'EventController @ joinWaitlist ') -> 이름 ('event-join-waitlist ') -> 미들웨어 ('auth '); '은 게시물 요청입니다. –

답변

1

당신은 그것이 작동되도록하는 get로 변경해야합니다.

2

POST 방법은 GET 메서드를 전송하는 앵커 태그에 경로를 사용하려고합니다. 대신, 블레이드에서 정적 URL을 호출하는 아래와 같은 이름을 사용 : 블레이드

Route::get('/event/waitlist/{eventId}', '[email protected]')->name('event-join-waitlist')->middleware('auth'); 

<a class="btn btn-theme-colored " href="{{ route('event-join-waitlist', [$event->id]) }}">Join Now!</a>