2016-02-08 3 views
2

Я пытаюсь добавить запись в базу данных с использованием контроллера ресурсов, однако я получаю ошибку MethodNotAllowedHttpException. Я рассмотрел несколько подобных вопросов, таких как this или that, однако ни один из них не ответил мне. Это мой код:Laravel 5.1 MethodNotAllowedHttpException на методе хранилища с использованием Resource Controller

routes.php

Route::resource('animals', 'AnimalsCtrl'); 

Часть моей модели.

protected $table='animals'; 
protected $primaryKey='name'; 

protected $fillable = [ 
    'name', 'type' 
]; 

Способ хранения в контроллере.

public function store(Request $request) 
    { 
     $creature = $request->all(); 
     Animal::create($creature); 

    } 

Это форму.

 <form method="post"> 
      <div class="small-6 small-centered large-4 large-centered columns"> 
       {!! csrf_field() !!} 
       <table> 
        <tr> 
         <th scope="row">Name</th> 
         <td> 
          <input type="text" name="name" maxlength="50" required> 
         </td> 
        </tr> 
        <tr> 
         <th scope="row">Type</th> 
         <td> 
          <input type="text" name="type" maxlength="20" required> 
         </td> 
        </tr> 
        <tr> 
         <th> 
          <button type="submit" class="button success"> 
           <i class="fi-plus"></i> 
           Add Animal 
          </button> 
         </th> 
         <td> 
          <a href="{{url('/animals')}}" class="button alert"> 
           <i class="fi-x-circle"></i> 
           &nbsp; Cancel 
          </a> 
         </td> 
        </tr> 
       </table> 
      </div> 
     </form> 

Есть ли у кого-нибудь предложения о том, как я могу это разрешить?

ответ

0

Когда вы отправляете форму, какой URL-адрес вы отправляете в форму? URL должен быть в действии. Например, как следует

<form action="/animals" method="post"> 
</form> 
+0

Если вы считаете, что этот ответ разрешил ваш запрос, пожалуйста, отметьте это как ответ для людей, приезжающих в следующем. - Спасибо – Gagan

+0

Спасибо. Ты прав!!! – DBoonz

+0

Спасибо .. Рад, что я мог бы помочь .. – Gagan

2

Я мог бы быть неправильно, но я думаю, что вам не хватает параметр действия в вашей форме

Попробуйте это:

<form action="/animals" method="post"> 

Вместо этого

<form method="post"> 

В качестве подсказки я предлагаю вам использовать фасад HTML Forms. Проверьте это: https://laracasts.com/series/laravel-5-fundamentals/episodes/10

Вот документация Laravel 5.1 https://laravelcollective.com/docs/5.1/html

+0

Спасибо, за ваше предложение. Теперь он работает ... – DBoonz

Смежные вопросы