2017-02-21 7 views
1

Я использую RESTful Resource Controllers и функция обновления работает неправильно.Обновление контроллера laravel не работает

если сгенерировать ссылку, как это и ничего не происходит http://localhost:8000/medication/3?_token=Sv0mblJUcWppsO6roWiXOzZzcFOqlgMBIzJoy3HW&medicine=a&dosage=a&howOften=aaa&forWhat=a&doctor=a&vaccination=a&shots=a

мой вид кода (только для тестирования) является

код
  <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> 
       <span class="glyphicon glyphicon-remove" aria-hidden="true"></span> 
       </button> 
       <h4 class="modal-title custom_align" id="Heading">Edit Your Medication</h4> 
      </div> 

      <form role="form" action="/medication/3" method="PUT" class="f1"> 
      {{ csrf_field() }} 
      <div class="modal-body"> 

       <div class="form-group"> 
        <input type="text" name="medicine" class="form-control" placeholder="Medicine"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="dosage" class="form-control" placeholder="Dosage"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="howOften" class="form-control" placeholder="How often do I take it"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="forWhat" class="form-control" placeholder="what it is for?"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="doctor" class="form-control" placeholder="Prescribing Doctor"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="vaccination" class="form-control" placeholder="Vaccination"> 
       </div> 
       <div class="form-group"> 
        <input type="text" name="shots" class="form-control" placeholder="Shots"> 
       </div> 
      </div> 

      <div class="modal-footer "> 
       <button type="submit" class="btn btn-success btn-lg btn-update" style="width: 100%;"><span class="glyphicon glyphicon-ok-sign"></span> Update</button> 
      </div> 
      </form> 

     </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 

</div> 

Контроллер

public function update(Request $request, $id) 
{ 
    $row = $id; 

    $data = array('medicine' => $request->medicine, 
        'dosage' => $request->dosage, 
        'howOften' => $request->howOften, 
        'forWhat' => $request->forWhat, 
        'doctor' => $request->doctor, 
        'vaccination' => $request->vaccination, 
        'shots' => $request->shots); 

    $ex = ProfileInformation::insertInformation($row, $this->user, $this->TABLE_NAME, $data); 
    if($ex){//executed properly 
     return redirect('/medication'); 
    } else { 
     return redirect('/customer'); 
    } 

} 

Я m не использовать этот стандартный первичный ключ id laravel, но sti Я хочу использовать контроллер ресурсов. Я не понимаю, почему ничего не происходит. если есть ошибка запроса, то он должен по крайней мере перейти к моему коду перенаправления.

ответ

1

Не работает, потому что вы установили method="PUT". Вместо этого сделайте следующее:

<form role="form" action="/medication/3" method="POST" class="f1"> 
     {{ csrf_field() }} 
     {{ method_field("PUT") }} 
Смежные вопросы