#php #laravel-5 #model #laravel-blade #laravel-form
#php #laravel-5 #Модель #laravel-blade #laravel-форма
Вопрос:
У меня есть простая форма, привязанная к модели, и я только что проверил html, сгенерированный блейдом, и действие указывает на неправильный URL. Я неправильно написал маршрут? Ни одна документация не помогает с этим. Действие указывает на /users, а не на /users/{user} , на который указывает маршрут.
@extends('layout')
@section('content')
<h1>This is a test.</h1>
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
{!! Form::model($user, ['method'=>'put', 'route'=>['users.update', $user->id], 'class'=>'form']) !!}
<div class="form-group">
{{ csrf_field() }}
{!! Form::label('Your Name') !!}
{!! Form::text('name', null,
['required', 'class' => 'form-control', 'placeholder'=>'Your name']
) !!}
</div>
<div class="form-group">
{!! Form::label('Your E-mail Address') !!}
{!! Form::text('email', null,
['required', 'class' => 'form-control', 'placeholder'=>'Your E-mail Address']
) !!}
</div>
<div class="form-group">
{!! Form::submit('Submit', ['class'=>'btn btn-primary']) !!}
</div>
{!! Form::close() !!}
@stop
Распечатку маршрута можно найти здесь:http://pastebin.com/4wpMsz4k
Ответ №1:
Попробуйте, как показано ниже,
{!! Form::model($user, array('route' => array('users.update', $user->id), 'method' => 'PUT','class' => 'form')) !!}
Комментарии:
1. К сожалению, это не сработало. Все еще не изменил действие.
Ответ №2:
Проблема решена. Это была проблема с неправильным форматированием идентификатора. Это должно было быть $user-> ID, а не $user-> id.