ОК, я пытаюсь понять лучшие методы для методов CREATE и UPDATE для форматов HTML и XML.Код по умолчанию для контроллера, который генерирует генератор рельсов, для меня немного неясен.
Для метода CREATE, при хорошем сохранении, генератор говорит: " redirect_to (@whwhat) "для HTML и" рендер: xml => @whothing,: status =>: созданный,: location => @ независимо"для XML.
При плохом сохранении генератор говорит " render: action => 'new' " для HTML и " render: xml => @ what.errors,: status=>: unprocessable_entity"для XML.
Однако для метода UPDATE, с хорошим обновлением, генератор говорит:" redirect_to (@whwhat)"для HTML и" head: ok"для XML.
И, при плохом обновлении, генератор говорит" render: action => 'edit'"для HTML и" render: xml => @ what.errors,: status =>: unprocessable_entity"для XML.
Я понимаю это, и это имеет смысл для меня, и работает просто отлично - НО,У меня есть два вопроса:
Во-первых, для успешного CREATE и UPDATE в формате HTML, почему " redirect_to (@whwhat) " вместо " render: action => 'show«"?Я понимаю разницу между перенаправлением и рендерингом, просто мне интереснее, как вы, ребята, это делаете и почему.Похоже, что перенаправление было бы ненужной дополнительной поездкой для браузера.
Во-вторых, почему " head: ok " при успешном обновлении через XML, но " render: xml=> @whwhat,: status =>: созданный,: location => @ what"после успешного CREATE через XML?Это кажется противоречивым для меня.Похоже, что успешное ОБНОВЛЕНИЕ через XML должно быть таким же, как успешное СОЗДАНИЕ через XML.Похоже, вам нужно вернуть новый / обновленный объект, чтобы вы могли проверить его.Как вы, ребята, делаете это и почему?