Форма:
{{ Form::open(array('url' => 'user/create', 'files' => true)) }}
Маршрут:
Route::resource('user', 'UserController');
UserController.php
class UserController extends BaseController { public function index() { return 'hi11'; //return View::make('home.index'); } public function create() { return 'hi22'; //return View::make('home.index'); } }
Этот код дает
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
Я просто хотел бы добавить свое собственное открытие в этом направлении … Может быть, это спасет кого-то еще от царапин на голове, которые я только что выполнил.
Я тоже реализовал механизм Route :: resource. Я не мог понять, почему работает моя работа, но мое обновление не было. Оказывается, вы не можете использовать один и тот же код формы точно, форма, которая выполняет обновление, должна использовать метод PUT или PATCH. Почему обновление не могло быть POST вне меня.
То есть, открывающий тег формы для обновления должен выглядеть следующим образом:
Form::model($thing, array( 'method' => 'PUT', 'route' => array('things.update', $thing->id) )
Без указания метода => PUT вы получите эту ошибку.
Поскольку в ваших путях вы используете контроллер ресурсов, вы можете использовать только определенные пути и действия, описанные в документации http://laravel.com/docs/controllers#resource-controllers .
user / create (UserController :: create) – это то, где вам нужно показать форму для добавления нового пользователя.
Фактическое хранение пользователя должно выполняться в пользователе / хранилище, т. Е. Ваша форма должна отправлять данные в метод UserController :: store ().
В вашем случае, если вы отправляете свою форму только «url» => «пользователь», это должно автоматически отправлять данные на правильный метод.
Ресурсы Laravel 4 назвали маршруты – просто используйте их:
{{ Form::open(array('route' => 'user.create', 'files' => true)) }}
это то, как я это делаю, это может помочь кому-то, можно улучшить, но это будет основной идеей.
@if(isset($data)) {{ Form::open(['route'=>['blog.update', isset($data) ? $data->slug : null],'method' => 'patch','role' => 'form', 'class' => 'blog-form form-horizontal']) }} @else {{ Form::open(['route'=>'blog.store','role' => 'form', 'class' => 'blog-form form-horizontal']) }} @endif