首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试更新users表生成MethodNotAllowedHttpException,Laravel-4

尝试更新users表生成MethodNotAllowedHttpException,Laravel-4
EN

Stack Overflow用户
提问于 2014-06-24 18:22:52
回答 1查看 176关注 0票数 0

UsersController:

代码语言:javascript
复制
public function update($id)
    {
        if( ! $this->user->isValid(Input::all()))
             {
                 return Redirect::back()->withInput()->withErrors($this->user->errors);
             }

        $user = $this->user->find($id);

        $user->save();

        return Redirect::route('users.index');
    }

路由:

代码语言:javascript
复制
Route::resource('users','UsersController');

型号:

代码语言:javascript
复制
protected $table = 'users'

edit.blade.php:

代码语言:javascript
复制
{{ Form::model($user, array('route'=>array('users.update','$user'=>'id'))) }}

我注意到这不会生成"PUT“操作。网页来源:

代码语言:javascript
复制
    <form method="POST" action="https://zocios.com/users/id" accept-charset="UTF-8"><input name="_token" type="hidden" value="...">

按“更新用户”按钮可以让我:

代码语言:javascript
复制
Exception \ MethodNotAllowedHttpException

问题是"$user->save();“吗?我还做错了什么吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-24 19:00:50

您需要指定方法:

代码语言:javascript
复制
{{ Form::model($user, array('method' => 'put', 'route'=>array('users.update','$user'=>'id'))) }}

除了GETPOST之外,没有其他方法是可以接受的(尽管有规范),因此框架可以在表单_method中标识隐藏输入以使其工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24393665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档