2017-03-06 1 views
0

내 편집 페이지에서 내 업데이트 페이지로 이동하려고하지만 문서를 라우팅하는 방법을 설명하는 설명서가 없습니다. 난 그냥이편집에서 어떻게 그들을 연결하는 방법을 업데이 트합니까?

Routes::resource('/','TestController',['parameters' => [ 
    '' => 'test' 
]]); 

내 컨트롤러에서 : 그냥주고

public function update(Request $request, Test $test){ 
    return 'test'; 
} 

/* 
Or method="PUT" 
*/ 
<form method="PATCH" action="../{{$id}}"> 
{{ method_field('PUT') }} 
<input type="submit" value="edit"/> 
</form> 

내 경로

리소스 컨트롤러로 선언되고있다 : 이것은 내 편집 페이지에서 내 양식입니다 여러 가지 방법으로 업데이트 작업에 액세스하려고하면 다른 오류가 발생합니다.

내가 시도 : {{route($id)}} 나주는 :

자원 문서 URL이 같은 것으로 생각되는 나에게주는 정의되지

국도 1 :

PUT/PATCH /photos/{photo} 

내가 laravel 및 theres에 대한 리소스 컨트롤러의 라우팅을 많이 알지는 못한다. 나는 심지어 단지 /{{$id}}/edit에서 1을 되 찾으려고 노력했다 : ../{{$id}}하지만 그 쇼 동작에 (쇼와 업데이트가 동일한 URL을 분명히 가지고 있기 때문에) 나를 데려온다. 그리고 나는 또한 이것이이 컨트롤러에서 액션에 접근하는 가장 좋은 방법이라고 생각한다. .

+0

양식에 대한 조치를 제공하지 않았습니다. –

+0

@RossWilson 그래, 그 밑에있는 예제가 내가 액션으로 시도한 것 인 이유는 그 공백을 유지했기 때문이다. – Loko

답변

0

는 양식 개방 태그로 변경해보십시오 :

<form method="POST" action="{{ url($id) }}"> 
    {{ csrf_field() }} 
    {{ method_field('PUT') }} 

희망이 도움이!

+0

그것은 작동하지만 왜 작동 하는가. 나는 왜 Ididnt $ ID를 얻는 다른 시도가 실패했는지 알지 못한다. – Loko

+0

@Loko 당신이'route()'를 사용했기 때문에. https://laravel.com/docs/5.4/helpers#method-route –

0

리소스 경로의 경우 컨트롤러의 다음 방법을 사용할 수 있습니다. 색인

public function index() 
    { 
     return view(); 
    } 

public function create() 
    { 
     // 
    } 

스토어

public function store(Request $request) 
    { 
     // 
    } 

public function show($id) 
    { 
     // 
    } 

을 보여 생성, 편집

public function edit($id) 
    { 
     // 
    } 

업데이트

public function update(Request $request, $id) 
    { 
     // 
    } 

public function destroy($id) 
    { 
     // 
    } 

는 PHP는 장인을 사용하여 컨트롤러를 작성 파괴한다. 해당 자원 메소드가 자동으로 작성됩니다.

+0

이것은 – Loko

+0

이 라우트 모델 바인딩에서 편집 한 경우에 대해 말하는 내용이 아닙니다. https://laravel.com/docs/5.4/routing#route-model-binding – Dhananjaya

+0

저장 방법에 저장 코드를 씁니다. 리소스 경로 편집 URL은 http://homedomain.com/route/id/edit와 같습니다. – Dhananjaya

관련 문제