Пользовательские домены Ruby on Rails - PullRequest
2 голосов
/ 18 марта 2012

Я пишу веб-приложение, которое работает на поддоменах. Я также хотел бы добавить пользовательские домены, чтобы пользователи могли создавать CNAME, чтобы их домен (hello.com) переходил на свой поддомен (123.hellothere.com).

Как мне поступить так с Ruby on Rails?

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

У меня есть subdomain и custom_domain в базе данных, относящейся к блогу пользователя.

Я пытался следовать этому уроку - http://glacialis.postmodo.com/posts/cname-and-subdomain-routing-in-rails - безуспешно.

EDIT

subdomain и custom_domain прикреплены к модели блога. Для поддоменов я использовал этот учебник на RailsCasts

1 Ответ

4 голосов
/ 18 марта 2012

Я не знаю, как у вас настроены ваши субдомены, но у вас должен быть какой-то код, который где-то выглядит следующим образом:

def current_account
  Account.find_by_subdomain(request.subdomain) || Account.find_by_custom_domain(request.host)
end

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

Редактировать: вы также должны убедиться, что, если на контроллере определен метод current account, вы запомните его с помощью @current_account ||=, чтобы избежать ненужных обращений к базе данных.

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