Laravel 5: ставить, исправлять и удалять запросы без использования построителя форм

Поскольку в Laravel 5 отсутствует класс построителя форм (вы можете добавить его, я знаю), как я могу делать запросы на размещение, исправление и удаление для соответствия этим маршрутам без использования какого-либо класса построителя форм, просто Laravel?


person Luuk Van Dongen    schedule 30.09.2014    source источник


Ответы (1)


Вы должны попробовать добавить:

<input name="_method" type="hidden" value="DELETE">

к вашей форме. Это то, что делает генератор форм в Laravel 4 — он просто добавляет скрытый ввод с именем _method.

Конечно, для значения DELETE в приведенном выше примере вы можете использовать любые другие методы.

person Marcin Nabiałek    schedule 30.09.2014
comment
Вы действительно рекомендуете использовать это вместо обычного метода POST? Где-то я читал, что эта подделка делается просто по семантическим причинам и чтобы сохранить принципы REST нетронутыми, поскольку изменение метода на самом деле имеет какую-либо функцию. - person Luuk Van Dongen; 30.09.2014
comment
@LuukVanDongen Насколько мне известно, это метод, позволяющий разрешать запросы, отличные от размещения и публикации. Так что, вероятно, POST будет работать, если вы просто добавите в свою форму method="post", однако я не проверял это, потому что я использую построитель форм для создания форм. - person Marcin Nabiałek; 30.09.2014
comment
Хорошо, но того же можно добиться, используя только метод post и разные конечные точки. Например, выполнение POST для /products/312/delete может иметь ту же функцию, что и метод DELETE для /products/312. Так что для функциональности это не обязательно. - person Luuk Van Dongen; 30.09.2014
comment
Это может помочь прояснить запросы: stackoverflow.com/a/14757041/1317935 - но Марчин на 100% прав - это как это сделать - person Laurence; 30.09.2014