我正在尝试使用资源控制器向数据库添加记录,但是,我收到MethodNotAllowedHttpException错误。我已经经历了几个类似的问题,例如this或that,但似乎没有人回答我。这是我的代码:
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>
Cancel
</a>
</td>
</tr>
</table>
</div>
</form>
有没有人对我如何解决这个问题有任何建议?
答案 0 :(得分:2)
我可能错了,但我认为你错过了表单中的action参数
试试这个:
<form action="/animals" method="post">
而不是这个
<form method="post">
作为提示,我建议您使用HTML表单外观。看看这个:https://laracasts.com/series/laravel-5-fundamentals/episodes/10
以下是Laravel 5.1 https://laravelcollective.com/docs/5.1/html
的文档答案 1 :(得分:1)
当您发布表单时,您将表单发布到的URL是什么?网址应该在行动中。例如如下
<form action="/animals" method="post">
</form>