Php Laravel 4 store()方法错误MethodNotAllowedHttpException

Php Laravel 4 store()方法错误MethodNotAllowedHttpException,php,laravel,laravel-4,Php,Laravel,Laravel 4,我环顾四周,看看是否能找到这个具体的问题,但到目前为止还没有成功 问题很简单。我使用artisan生成的UsersController来处理/users目录上的RESTful通信。GET工作正常,但每当我向/users发布表单时,它都会抛出MethodNotAllowedHttpException错误,而不是像应该的那样正确执行store方法。当我创建一个新的处理程序postNew和POST to users/new时,它工作得很好。我可以使用它,但我真的很想找出问题所在,这样我就可以使用标准的

我环顾四周,看看是否能找到这个具体的问题,但到目前为止还没有成功

问题很简单。我使用artisan生成的UsersController来处理/users目录上的RESTful通信。GET工作正常,但每当我向/users发布表单时,它都会抛出MethodNotAllowedHttpException错误,而不是像应该的那样正确执行store方法。当我创建一个新的处理程序postNew和POST to users/new时,它工作得很好。我可以使用它,但我真的很想找出问题所在,这样我就可以使用标准的RESTful方法

此外,我没有使用Laravel的表单生成器,因为我打算缓存每个页面以提高速度,并且不想为我发送的每个表单生成唯一的id。我在另一篇文章中看到,这可能会导致问题,但无法找到将其集成到解决方案中的方法

<form id="signup-form" method="POST" action="users">                         
  <label>First Name:</label>                    
  <input type="text" name="firstName">                  
  <label>Last Name:</label>
  <input type="text" name="lastName">
  <input type="submit" value="Sign Up Free!">
</form>
这是我的代码。

控制器:make将只创建资源控制器,而不会定义其路由

由于您提到您创建了一个新的控制器方法postNew,并且当您向users/new发送POST请求时,它会起作用,因此我假设您创建了一个RESTful控制器路由,而不是资源路由

RESTful控制器路由与控制器不兼容:make:

与控制器兼容的资源控制器路由:make:


在:vs..

中概述了这两种控制器类型之间的差异。您是如何为这个新控制器设置路由的?在命令行中键入php artisan controller:make UsersController。开箱即用的配置不起作用,这让我很困惑。你确定你使用了正确的HTTP方法提交表单吗?我正在用我的代码更新帖子。太棒了!我把它作为Route::controller…,而不是Route::resource。。。。将其更改为资源控制器立即解决了该问题。
Route::controller('users', 'UsersController');
Route::resource('users', 'UsersController');