不允许使用Laravel方法

时间:2017-03-18 07:31:43

标签: php laravel routes adminlte

我在尝试提交表单时收到MethodNotAllowedException。这是我的路线

Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function () {

    Route::resource('user', 'UserController');
    Route::get('user/destroyMe/{destroyMe}', ['as' => 'user.destroyMe', 'uses' => 'UserController@destroyMe']);
    Route::get('user/changeState/{id}', ['as' => 'user.changeState', 'uses' => 'UserController@changeState']);
});

以下是存储新用户的表单部分:

<div class="position-center">
    <form role="form" id="tryitForm" class="form-horizontal" enctype="multipart/form-data"
          method="POST" action="{{route('user.store')}}">
        {!! Form::token() !!}

我在route:list内检查过,我清楚地看到了user.store指定的路线,路线上的方法是POST。我无法弄清楚为什么我会得到例外?

修改

我确实安装了Laravel的AdminLTE Link,但我已经覆盖了它的路线。有人说每条其他路线都有效。

编辑2

我尝试制作手动路线:

Route::post('admin/user', 'UserController@store');

并将其发布到url('admin/user'),但结果仍然相同?

编辑3

清除缓存也没有帮助。

编辑4

进一步检查后,当遇到不存在的随机路由时,我得到一个Sorry, the page you are looking for could not be found.的错误标题,但是如果我执行了POST个路由,我得到{{1} (两个错误都会触发相同的异常)。

Laravel日志为空

2 个答案:

答案 0 :(得分:1)

我发现了一个导致所有麻烦的错误。在我的表格中有一行

<input name="_method" value="PUT" type="hidden">

它通过复制/粘贴我的edit代码

潜入那里

答案 1 :(得分:0)

试试这样:

 {!! Form::open( [ 'route' => 'user.store', 'method' => 'POST',  'files' => 'true' ] ) !!}

关闭它。

      //
{{ Form::close() }}

修改 怎么样这样做:

routes.php

 Route::any('admin/user', 'UserController@form');

controller

 public function form(){
    print_r(Input::get()); die; #Hope that you are using Input.
 }