Как rails определяет формат входящего запроса?

Мне просто интересно, как rails знает формат запроса, чтобы правильно ввести знаменитый:

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'
    });

Когда этот запрос достигает действия контроллера, стоящего внутри него с рубиновым отладчиком, я проверяю @ request.format и вижу это содержимое - Тип - application / json. Затем контроллер отреагирует на формат json, как и ожидалось.

Но меня смущает символ формата, указанный в маршрутах. Предположим, что запрос сделан на example.com/parts.json , но в запросе тип содержимого - application / html или application / xml. Отвечает ли контроллер на формат json, html или xml ??

Спасибо!

11
задан flyer88 6 June 2011 в 17:32
поделиться