Как изменить формат просмотра на основе доменного имени - PullRequest
1 голос
/ 26 февраля 2010

Я хотел узнать, есть ли способ изменить формат представления для того же приложения rails на основе доменного имени.

Например:

  • www.domain.com => response_to format.html
  • api.domain.com => response_to format.xml или format.json

Спасибо всем за помощь

Ответы [ 2 ]

5 голосов
/ 26 февраля 2010

Да, используйте before_filter в вашем контроллере и установите response.format в соответствии со значением request.host.

class Controller < ActionController::Base

  before_filter :adapt_response_format

  protected

    def adapt_response_format
      response.format = case request.host
        when "xml.foo.com" then :xml
        else                    :html
    end

end
0 голосов
/ 26 февраля 2010

Вот альтернативный подход к вашей проблеме.

Почему бы не попросить ваших клиентов установить для заголовка Accept application / xml или application / json в зависимости от того, какой формат они хотят? Вы можете использовать HTML по умолчанию для поддержки веб-браузеров.

Таким образом, вам не нужно иметь два разных хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...