Как определить адрес электронной почты пользователя в модели?

У меня есть игрушечное веб-приложение, в котором имя пользователя моих пользователей также является их адресом электронной почты (как правило, "<username>@<host>"формат). Я пытаюсь сделать метод для расчета адреса электронной почты пользователя в модели как User#email, но мне нужен доступ к URL() вспомогательный метод для этого, который недоступен в модуле Models.

Есть ли способ доступа к корневому пути, к которому привязано веб-приложение, из внутренних моделей?

1 ответ

URL() использует запрос для определения хоста, но ваши модели должны использоваться и вне запроса (например, в консоли). В этом случае я рекомендую просто хранить его где-нибудь:

module App
  EMAIL_HOST = "hello.com"
end

module App::Models
  class User
    def email
      "#{username}@#{App::EMAIL_HOST}"
    end
  end
end
Другие вопросы по тегам