Я нахожусь в процессе перехода моего приложения от использования подкаталогов для пользовательского пространства к поддоменам (т. Е. Domain.com/~user to user.domain.com). У меня есть метод в моем пользовательском классе в настоящее время, чтобы получить «домашний» URL для каждого пользователя:
class User
def home_url
"~#{self.username}"
# How I'd like to do it for subdomains:
#"http://#{self.username}.#{SubdomainFu.host_without_subdomain(request.host)}"
end
end
Я бы хотел обновить это для поддоменов, но без жесткого кодирования домена в методе. Как видите, я использую плагин subdomain-fu, который предоставляет некоторые методы, которые я мог бы использовать для этого, за исключением того, что им необходим доступ к request
, который недоступен для модели.
Я знаю, что делать request
доступным в модели считается плохой формой, поэтому я бы хотел этого не делать, но я не уверен, есть ли хороший способ сделать это. Думаю, я мог бы передавать домен каждый раз при инициализации модели, но я не думаю, что это хорошее решение, потому что я должен помнить об этом каждый раз, когда инициализируется класс, что часто случается.