Я учусь laravel 6 и всегда есть проблема с шаблоном лезвия.
Шаблоны не работают: @csrf
, @error ("name")
$message
@enderror
, @method ("patch")
, хотя конструкции типа @foreach
, @forelse
и @if
работают без проблем.
Вместо этого я использую {{csrf_field ()}}
, @foreach ($ errors-> all () as error) {$ error} @endforeach
соответственно.
Если @error("name") $message @enderror
throws ошибка: неопределенная переменная: сообщение, затем @csrf
и @method ("patch")
просто выводятся в html в виде простого текста. Теперь проблема с @method («патч»). Я работаю на windows 7, на открытом сервере я пишу все согласно документации, но мне нужно искать другой способ написания кода. В чем может быть проблема?
Вот ситуация с @error ("name") {$ message}. Вот контроллер.
<?php
namespace App \ Http \ Controllers;
use App \ Http \ Controllers \ Controller;
use Illuminate \ Http \ Request;
use Illuminate \ Support \ Facades \ DB;
class ServiceController extends Controller
{
public function index () {
$ var = 'create';
return view ('services.index', ['data' => $ var,]);
}
public function store (Request $ request) {
$ data = $ this-> validate ($ request, [
'name' => 'required'
]);
$ var = request ('name');
DB :: table ('services') -> insert (['name' => $ var]);
return redirect () -> back ();
}
}
Вот шаблон в services / index.blade. php. Все шаблоны названы правильно.
@extends ('html')
@section ('title', 'create')
@section ('content')
<h1> Create service </h1>
<form action = '/ service' method = 'post'>
<input type = 'text' name = 'name'>
{{csrf_field ()}}
<button> Add service </button>
</form>
@error ('name') {{$ message}} @enderror
@endsection