2017-11-07 6 views
0

은 내가 resource 하나에 두 PROFILE 사람을 가입 할 수 있습니다이 RouteLaravel 루트 자원 및 POST

Route::group([ 'middleware' => ['auth','lang']], function() { 

    // SETTINGS 
    Route::namespace('Settings')->prefix('settings')->group(function() { 

     // INDEX 
     Route::get('/', '[email protected]'); 

     // ACCOUNTS 
     Route::resource('accounts', 'AccountController', ['only' => ['index','store','edit','update']]); 

     // TAGS 
     Route::resource('tags', 'TagController', ['only' => ['index','destroy']]); 

     // PROFILE 
     Route::get('profile', '[email protected]'); 
     Route::post('profile', '[email protected]'); 

    }); 

어떤 방법이 있나요? Route::resource('profile', 'ProfileController', ['only' => ['index','update']])을 사용할 때마다이 메서드가 허용되지 않는다는 오류가 발생합니다 (405 (Method Not Allowed)). 나는 단지 update을 찾지 못했을 것이라고 생각한다. 나는 무엇이 문제인지 정말로 모른다.

답변

1

리소스가 많은 컨트롤러의 경우 게시물이 업데이트가 아닌 저장 방법으로 기본값이 설정되기 때문에 이러한 상황이 발생합니다.

그래서 정의되지 않은 store 메소드에 게시 중이므로 403 메소드가 허용되지 않습니다.

해결하려면 PUT으로 요청을 변경하거나 Route::resource('profile', 'ProfileController', ['only' => ['index','store']])으로 코드를 변경하십시오. 이렇게하면 업데이트 기능의 내용을 저장으로 이동해야합니다.

자세한 내용은 체크 아웃 https://laravel.com/docs/5.5/controllers#resource-controllers

+0

완벽한. 고맙습니다! – Nik