rails 3.0 субдомены и форматы - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть 2 поддоменов, которые указывают на одно приложение рельсов.Контроллеры моего приложения rails должны обслуживать оба субдомена.

Позволяет называть субдомены www.mydomain.com и demo.mydomain.com.Я хочу, чтобы 2 выполнил 3 вещи:

  1. Убедитесь, что только некоторые из моих контроллеров обслуживают www.mydomain.com, а некоторые обслуживают оба домена.
  2. Убедитесь, что только часть моих контроллеров'Действия служат www.mydomain.com, а некоторые обслуживают оба домена.
  3. Убедитесь, что пользователи используют только формат: html для demo.mydomain.com (например, http://demo.mydomain.com/index.html) и используют только форматы: json /:xml для www.mydomain.com (например, http://www.mydomain.com/index.json).

Каков наилучший способ выполнить оба запроса?

1 Ответ

1 голос
/ 29 декабря 2011

Возможно, обратите внимание на маршрутизацию запросов на основе субдомена

Как мне маршрутизировать домен / субдомен в рельсах

http://agilewebdevelopment.com/plugins/request_routing

где плагин request_routing позволит вам определить требования к маршрутизации, которые тестируют методы / свойства объекта запроса, такие как поддомен, домен, порт.Вы можете проверить их либо по значению, либо с помощью регулярного выражения (при условии, что метод возвращает строку).

Если вы используете рельсы 3, вы также можете проверить поддомен вашего сайта рельсов

http://railscasts.com/episodes/221-subdomains-in-rails-3

Чтобы заставить ваши контроллеры реагировать по-разному в зависимости от субдомена, вы можете использовать условное выражение, основанное на

@host = request.host
...