Поведение JSON API Rails 3.2.16 для response_with при обновлении объекта

Немного головоломки вокруг использования JSON для обновления ресурсов:

  • Если я использую "POST" против /resource/:id - я получаю неопределенный маршрут
  • Если я использую «PUT» для /resource/:id — я получаю правильный метод, но response_with, похоже, возвращает пустой контент (см. код ниже).

https://github.com/rails/rails/blob/3-2-stable/actionpack/lib/action_controller/metal/responder.rb#L201

Что делать графическому интерфейсу, когда ему нужен хороший ответ для обновления объекта? Должен ли я прибегать к явному рендерингу?


person aabes    schedule 15.02.2014    source источник


Ответы (1)


Ответ 204 No Content — это поведение по умолчанию от respond_with. Вы можете либо выполнить явный рендеринг, если хотите чего-то другого, либо, если вы хотите последовательно изменить поведение, вы можете определить свой собственный подкласс ActionController::Responder.

Я бы рекомендовал прочитать источник ответчика по умолчанию и проверить некоторые другие здесь:

https://github.com/plataformatec/responders

person Matt Jones    schedule 15.02.2014
comment
Я действительно прочитал исходный код;) см.: github.com/rails/rails/issues/14073 очевидно, маршрутизация рельсов и ответы на самом деле не должны совпадать;) - person aabes; 16.02.2014