laravel FormBuilder проблема с getMethod

Реализация функции getMethod не принимает все HTTP-команды, кроме POST, GET? Мой вариант использования таков

  • Форма открыта для ресурса обновления, поэтому метод должен быть PUT.
  • Я создал одну библиотеку управления доступом, чтобы проверить, есть ли у пользователя доступ к {ресурсу, методу}.
  • Я использую getMethod() для получения имени метода, но он всегда возвращает POST, даже если отправлен параметр PUT.
  • Поскольку это всегда возвращает POST, ACL всегда возвращает NO_ACCESS

Есть ли причина, по которой getMethod() пишется именно так?


person user3431901    schedule 04.04.2014    source источник


Ответы (1)


Во-первых, я бы проверил, разрешает ли ваш веб-сервер запросы PUT. У меня была проблема с веб-сервером, разрешающим только GET и POST по умолчанию.

Я предполагаю, что вы делаете что-то вроде if( Request::getMethod() == 'POST' )?

Поскольку класс запроса laravel расширяет класс Symfony, вы можете попробовать использовать Request::isMethod('post'). Это мое предпочтение, и оно читается лучше ИМО.

person adam    schedule 16.06.2014