Laravel没有消息Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException

时间:2018-02-01 08:00:46

标签: laravel

当我编辑我的项目时,它会给我这个错误。请帮忙 。我卡住了。我怎么知道错误在哪里。那么也许我可以解决它。

这是我的edit.blade.php

@extends('layouts.app')
@section('content')

<div style="width:100%" align="center">
<h1>Газар албаны нэр солих</h1>
<div style="background: white; width: 750px">
<form method="POST" action="{{ route('projects.edit',[$project->id]) }}">
{{ csrf_field() }}
@if($companies != null)
<label for="company-content">Боловсруулсан газар албадын нэр</label>
<div class="form-group">
<select name="company_id" class="form-control" required> 
@foreach($companies as $company)
<option value="{{$company->name}}"> {{$company->name}} </option>
@endforeach
</select>
</div>
@endif
@if($positions != null)
<div class="form-group">
<label for="position-content">Боловсруулсан хүний албан тушаал</label>
<select name="position_id" class="form-control" required> 
@foreach($positions as $position)
<option value="{{$position->name}}"> {{$position->name}} </option>
@endforeach
</select>
</div>
@endif
<div class="form-group">
<label for="project-bner">Боловсруулсан хүний нэр<span class="required">*</span></label>
<input placeholder="Боловсруулсан хүний нэр" id="project-bner" name="bner" spellcheck="false" class="form-control" required/>
</div>
@if($positions != null)
<div class="form-group">
<label for="position-content">Хянасан хүний албан тушаал</label>
<select name="poz_id" class="form-control" required> 
@foreach($positions as $position)
<option value="{{$position->name}}"> {{$position->name}} </option>
@endforeach
</select>
</div>
@endif
<div class="form-group">
<label for="project-hner">Хянасан хүний нэр<span class="required">*</span></label>
<input placeholder="Хянасан хүний нэр" id="project-hner" required name="hner" spellcheck="false" class="form-control"/></div>
@if($documents != null)
<div class="form-group">
<label for="document-content">Баримт бичгийн төрөл</label>
<select name="document_id" class="form-control" required> 
@foreach($documents as $document)
<option value="{{$document->name}}"> {{$document->name}} </option>
@endforeach
</select>
</div>
@endif
<div class="form-group">
<label for="project-bbner">Баримт бичгийн нэр<span class="required">*</span></label>
<input placeholder="Баримт бичгийн нэр" id="project-bbner" required name="bbner" spellcheck="false" class="form-control"/>
</div>
<label for="ddate">Дугаар өгсөн огноо</label>
{{ Form::date('ddate', new \DateTime(), ['class' => 'form-control']) }}
</br>
<div class="form-group">
<label for="project-bdugaar">Баримт бичгийн дугаар<span class="required">*</span></label>
<input placeholder="Баримт бичгийн дугаар" id="project-bdugaar" required name="bdugaar" spellcheck="false" class="form-control"/>
</div>
<div class="form-group">
<label for="batalgaatdate">Баталгаат хугацаа</label>
<select class="form-control" id="ddate" name="batalgaatdate" required>
<option value="Хуулийн төсөл - / 40 хоног хүртэл /">Хуулийн төсөл - / 40 хоног хүртэл /</option>
<option value="УИХ-ын болон ЗГ-ын тогтоолын төсөл - / 20 хоног хүртэл /">УИХ-ын болон ЗГ-ын тогтоолын төсөл - / 20 хоног хүртэл /</option>
<option value="Зөвлөмж - / 10 хоног хүртэл /">Зөвлөмж - / 10 хоног хүртэл /</option>
<option value="Журам - / 21 хоног хүртэл /">Журам - / 21 хоног хүртэл /</option>
<option value="Дүрэм - / 21 хоног хүртэл /">Дүрэм - / 21 хоног хүртэл /</option>
<option value="Заавар - / 10 хоног хүртэл /">Заавар - / 10 хоног хүртэл /</option>
<option value="Ажлын заавар - / 10 хоног хүртэл /">Ажлын заавар - / 10 хоног хүртэл /</option>
<option value="Удирдамж - / 5 хоног хүртэл /">Удирдамж - / 5 хоног хүртэл /</option>
</select>
</div>
<div class="form-group">
<label for="version">Хувилбар</label>
<select class="form-control" id="version" name="version" required>
<option value="Шинэ">Шинэ</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div>
<div class="form-group">
<label for="burtgel">Анхан шатны бүртгэлтэй эсэх</label>
<select class="form-control" id="burtgel" name="burtgel" required>
<option value="Тийм">Тийм</option>
<option value="Үгүй">Үгүй</option>
</select>
</div>
<div class="form-group">
<label for="project-aner">АШБ-ын нэр<span class="required">*</span></label>
<input placeholder="АШБ-ын нэр" id="project-aner" required name="aner" spellcheck="false" class="form-control"/></div>
<div class="form-group">
<label for="project-adugaar">АШБ-ын дугаар<span class="required">*</span></label>
<input placeholder="АШБ-ын дугаар" id="project-adugaar" required name="adugaar" spellcheck="false" class="form-control"/>
</div>
<div class="form-group">
<label for="batlagdsan">Батлагдсан эсэх</label>
<select class="form-control" id="batlagdsan" name="batlagdsan" required>
<option value="Тийм">Тийм</option>
<option value="Үгүй">Үгүй</option>
</select>
</div>
<label for="batdate">Батлагдсан огноо</label>
{{ Form::date('batdate', new \DateTime(), ['class' => 'form-control']) }}
</br>
<div class="form-group">
<label for="project-btushaal">Батлагдсан тушаалын тоот<span class="required">*</span></label>
<input   placeholder="Батлагдсан тушаалын тоот" id="project-btushaal" required name="btushaal" spellcheck="false" class="form-control"/></div>
<label for="date">ББНС-д хүлээн авсан огноо</label>
{{ Form::date('date', new \DateTime(), ['class' => 'form-control']) }}
</br>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Submit"/>
</div>
</form>
</div>
</div>

@endsection ProjectController

public function update($id, Request $request)
 {
    $this->validate($request, [
        'company_id' => 'required',
        'position_id' =>  'required',
        'bner' =>  'required',
        'poz_id' =>  'required',
        'hner' =>  'required',
        'document_id' =>  'required',
        'bbner' =>  'required',
        'ddate' =>  'required',
        'bdugaar' =>  'required',
        'batalgaatdate' =>  'required',
        'version' =>  'required',
        'burtgel' =>  'required',
        'aner' => 'required',
        'adugaar' => 'required',
        'batlagdsan' =>  'required',
        'batdate' => 'required',
        'btushaal' =>  'required',
        'date' =>  'required',
    ]);
        $postData = $request->all();
        Post::find($id)->update($postData);
        Session::flash('success_msg', 'Project updated successfully!');
        return redirect()->route('projects.index');
 }

web.php

Route::get('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

看起来你的帖子大部分代码请添加详细信息,我在这里添加一些细节看起来你的帖子大部分代码请添加细节,我在这里添加一些细节看起来你的帖子大部分代码请添加细节,我添加一些细节这里看起来你的帖子主要是代码请添加细节,我在这里添加一些细节

This is the error message

2

3 个答案:

答案 0 :(得分:0)

您已在web.php中定义了get路线,但您正尝试通过POST请求发送该表单。

更改:

Route::get('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

Route::post('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

你的路线名称错了,

将表单操作更改为

<form method="POST" action="{{ route('projects.edit',[$project->id]) }}">

答案 1 :(得分:0)

您正尝试在获取路线上发布帖子请求。所以改变路线:

Route::get('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

Route::post('/projects/edit/{id}','ProjectsController@edit')->name('projects.update');

答案 2 :(得分:0)

您的方法签名不正确。请求应始终是第一个参数:

public function update(Request $request, $id)

编辑:

如果您要向服务器提交表单,则应POST update。如果您要导航到表单,则应GET edit Thanks in advance.