Магистральные PUT-запросы и Laravel

Я работаю с интерфейсом Backbone и API-интерфейсом REST Laravel, я вижу странное поведение при отправке запроса PUT и попытке прочитать эти данные на стороне API.

Если я сделаю следующее,

Input::all() это возвращает массив NULL, однако, если я явно укажу, какой атрибут мне нужен из Input, то это работает нормально, т.е. Input::get('name') возвращает «Джон Доу» Я попытался найти некоторые ресурсы по этой проблеме, 2 решения, которые я нашел,

добавлять <input type="hidden" name="_method" value="PUT" /> к моим формам, которые используются для редактирования модели, это, похоже, не работает, во-вторых, изменить тип содержимого запросов от Backbone с application/json в x-www-form-urlencoded но я не могу понять, как это сделать.

Какой самый простой способ получить данные из запроса PUT — в идеале я не хочу использовать Backbone.emulateHTTP так как я не совсем понимаю, как я буду различать POST для редактирования, сохранения и удаления.

============== UPDATE ==============

Странно, я только что удалил весь свой код для метода, с которым я работаю, и Input::all() Теперь возвращает данные формы, представленные, так что запутался!

1

Решение

Для того чтобы Laravel4 работал с Backbone, вы должны создать REST-интерфейс с бэкендом, реализуя Resourceful-контроллеры, которые используют методы RESTful, как предписано Laravel.

Во внешнем интерфейсе вы должны создать модели Backbone для хранения состояния данных.
Запрос PUT происходит, когда вы определяете идентификатор для модели Backbone до того, как сохраните его на сервере.

Поэтому я сначала должен был бы управлять всеми данными приложений переднего плана с вашими моделями Backbone, сохраняя данные с помощью Backbone «сохранить» на модели.

Используете ли вы Input :: all () или Input :: get (‘name’), не имеет значения и зависит от ваших требований. Обычно контроллер служит только каналом, через который вы отправляете свои параметры в ваше хранилище / модель. Я склонен использовать Input :: all () и управлять моими условиями (отдельными параметрами) в репозитории или модели.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]