Мне просто интересно, как рельсы знают формат запроса, чтобы правильно войти в знаменитый:
respond_to do |format|
format.html
format.xml
format.json
end
В качестве примера рассмотрим эту ситуацию, с которой я столкнулся. Предположим, что с помощью javascript (с использованием jQuery) я делаю запрос POST с помощью выражения dataType: json
$.ajax({
type: 'POST',
url: 'example.com',
data: data,
dataType: 'json'
});
Когда этот запрос достигает действия контроллера, находящегося внутри него с отладчиком ruby, я проверяю @request.format, и я вижу, что контент-тип - application/json. Затем контроллер реагирует на формат json, как и ожидалось.
Но я смущен символом формата, определенным на маршрутах. Предположим, что запрос сделан в example.com/parts.json, но в запросе тип содержимого - application/html или application/xml. Отвечает ли контроллер на json-формат или html или xml?
Спасибо!